Lines Matching +full:1000 +full:base +full:- +full:x
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
45 #define SHMEM_VF_RESET_STATE ((uint32_t)-1)
66 * direction: 0 for request, VF->PF; 1 for response, PF->VF.
95 #define SMC_LAST_DWORD (SMC_APERTURE_DWORDS - 1)
98 mana_smc_poll_register(void __iomem *base, bool reset) in mana_smc_poll_register() argument
100 void __iomem *ptr = (uint8_t *)base + SMC_LAST_DWORD * SMC_BASIC_UNIT; in mana_smc_poll_register()
108 for (i = 0; i < 20 * 1000; i++) { in mana_smc_poll_register()
119 DELAY(1000); in mana_smc_poll_register()
129 void __iomem *base = sc->base; in mana_smc_read_response() local
134 err = mana_smc_poll_register(base, reset_vf); in mana_smc_read_response()
139 readl((uint8_t *)base + SMC_LAST_DWORD * SMC_BASIC_UNIT); in mana_smc_read_response()
140 mana_dbg(NULL, "shm response 0x%x\n", hdr.as_uint32); in mana_smc_read_response()
148 device_printf(sc->dev, in mana_smc_read_response()
149 "Wrong SMC response 0x%x, type=%d, ver=%d\n", in mana_smc_read_response()
156 device_printf(sc->dev, in mana_smc_read_response()
157 "SMC operation failed: 0x%x\n", hdr.status); in mana_smc_read_response()
165 mana_smc_init(struct shm_channel *sc, device_t dev, void __iomem *base) in mana_smc_init() argument
167 sc->dev = dev; in mana_smc_init()
168 sc->base = base; in mana_smc_init()
188 err = mana_smc_poll_register(sc->base, false); in mana_smc_setup_hwc()
190 device_printf(sc->dev, in mana_smc_setup_hwc()
209 * 52-bit frame addresses are split into the lower 48 bits and upper in mana_smc_setup_hwc()
211 * the start of the 256-bit shared memory region followed by 16 bits in mana_smc_setup_hwc()
214 * A 16 bit EQ vector number fills out the next-to-last 32-bit dword. in mana_smc_setup_hwc()
216 * The final 32-bit dword is used for protocol control information as in mana_smc_setup_hwc()
263 /* 32-bit protocol header in final dword */ in mana_smc_setup_hwc()
267 hdr->msg_type = SMC_MSG_TYPE_ESTABLISH_HWC; in mana_smc_setup_hwc()
268 hdr->msg_version = SMC_MSG_TYPE_ESTABLISH_HWC_VERSION; in mana_smc_setup_hwc()
269 hdr->direction = SMC_MSG_DIRECTION_REQUEST; in mana_smc_setup_hwc()
270 hdr->reset_vf = reset_vf; in mana_smc_setup_hwc()
272 /* Write 256-message buffer to shared memory (final 32-bit write in mana_smc_setup_hwc()
277 mana_dbg(NULL, "write shm_buf %d, val: 0x%x\n", in mana_smc_setup_hwc()
279 writel((char *)sc->base + i * SMC_BASIC_UNIT, *dword++); in mana_smc_setup_hwc()
289 device_printf(sc->dev, in mana_smc_setup_hwc()
304 err = mana_smc_poll_register(sc->base, false); in mana_smc_teardown_hwc()
306 device_printf(sc->dev, "Timeout when tearing down HWC\n"); in mana_smc_teardown_hwc()
316 /* Write message in high 32 bits of 256-bit shared memory, causing HW in mana_smc_teardown_hwc()
319 writel((char *)sc->base + SMC_LAST_DWORD * SMC_BASIC_UNIT, in mana_smc_teardown_hwc()
329 device_printf(sc->dev, in mana_smc_teardown_hwc()