summaryrefslogtreecommitdiffstats
path: root/sys/dev/sfxge/common/efx_mcdi.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/sfxge/common/efx_mcdi.c')
-rw-r--r--sys/dev/sfxge/common/efx_mcdi.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/sys/dev/sfxge/common/efx_mcdi.c b/sys/dev/sfxge/common/efx_mcdi.c
index 5853b06..5826c8a 100644
--- a/sys/dev/sfxge/common/efx_mcdi.c
+++ b/sys/dev/sfxge/common/efx_mcdi.c
@@ -35,15 +35,6 @@ __FBSDID("$FreeBSD$");
#if EFSYS_OPT_MCDI
-/* Shared memory layout */
-
-#define MCDI_P1_DBL_OFST 0x0
-#define MCDI_P2_DBL_OFST 0x1
-#define MCDI_P1_PDU_OFST 0x2
-#define MCDI_P2_PDU_OFST 0x42
-#define MCDI_P1_REBOOT_OFST 0x1fe
-#define MCDI_P2_REBOOT_OFST 0x1ff
-
/*
* A reboot/assertion causes the MCDI status word to be set after the
* command word is set or a REBOOT event is sent. If we notice a reboot
@@ -72,12 +63,12 @@ efx_mcdi_request_start(
switch (emip->emi_port) {
case 1:
- pdur = MCDI_P1_PDU_OFST;
- dbr = MCDI_P1_DBL_OFST;
+ pdur = MC_SMEM_P0_PDU_OFST >> 2;
+ dbr = MC_SMEM_P0_DOORBELL_OFST >> 2;
break;
case 2:
- pdur = MCDI_P2_PDU_OFST;
- dbr = MCDI_P2_DBL_OFST;
+ pdur = MC_SMEM_P1_PDU_OFST >> 2;
+ dbr = MC_SMEM_P1_DOORBELL_OFST >> 2;
break;
default:
EFSYS_ASSERT(0);
@@ -140,7 +131,9 @@ efx_mcdi_request_copyout(
unsigned int pdur;
efx_dword_t data;
- pdur = (emip->emi_port == 1) ? MCDI_P1_PDU_OFST : MCDI_P2_PDU_OFST;
+ pdur = (emip->emi_port == 1)
+ ? MC_SMEM_P0_PDU_OFST >> 2
+ : MC_SMEM_P1_PDU_OFST >> 2;
/* Copy payload out if caller supplied buffer */
if (emrp->emr_out_buf != NULL) {
@@ -227,8 +220,8 @@ efx_mcdi_poll_reboot(
EFSYS_ASSERT(emip->emi_port == 1 || emip->emi_port == 2);
rebootr = ((emip->emi_port == 1)
- ? MCDI_P1_REBOOT_OFST
- : MCDI_P2_REBOOT_OFST);
+ ? MC_SMEM_P0_STATUS_OFST >> 2
+ : MC_SMEM_P1_STATUS_OFST >> 2);
EFX_BAR_TBL_READD(enp, FR_CZ_MC_TREG_SMEM, rebootr, &dword, B_FALSE);
value = EFX_DWORD_FIELD(dword, EFX_DWORD_0);
@@ -281,7 +274,9 @@ efx_mcdi_request_poll(
}
EFSYS_ASSERT(emip->emi_port == 1 || emip->emi_port == 2);
- pdur = (emip->emi_port == 1) ? MCDI_P1_PDU_OFST : MCDI_P2_PDU_OFST;
+ pdur = (emip->emi_port == 1)
+ ? MC_SMEM_P0_PDU_OFST >> 2
+ : MC_SMEM_P1_PDU_OFST >> 2;
/* Read the command header */
EFX_BAR_TBL_READD(enp, FR_CZ_MC_TREG_SMEM, pdur, &dword, B_FALSE);
@@ -532,7 +527,7 @@ efx_mcdi_version(
version:
/* The bootrom doesn't understand BOOT_STATUS */
- if (build == MC_CMD_GET_VERSION_OUT_FIRMWARE_BOOTROM) {
+ if (build == MC_CMD_GET_VERSION_OUT_FIRMWARE_SIENA_BOOTROM) {
status = EFX_MCDI_BOOT_ROM;
goto out;
}
OpenPOWER on IntegriCloud