/* * Ref: *HalSdioGetCmdAddr8723BSdio() */ static u32 _cvrt2ftaddr(const u32 addr, u8 *pdevice_id, u16 *poffset) { u8 device_id; u16 offset; u32 ftaddr; device_id = get_deviceid(addr); offset = 0; switch (device_id) { case SDIO_LOCAL_DEVICE_ID: offset = addr & SDIO_LOCAL_MSK; break; case WLAN_TX_HIQ_DEVICE_ID: case WLAN_TX_MIQ_DEVICE_ID: case WLAN_TX_LOQ_DEVICE_ID: offset = addr & WLAN_FIFO_MSK; break; case WLAN_RX0FF_DEVICE_ID: offset = addr & WLAN_RX0FF_MSK; break; case WLAN_IOREG_DEVICE_ID: default: device_id = WLAN_IOREG_DEVICE_ID; offset = addr & WLAN_IOREG_MSK; break; } ftaddr = (device_id << 13) | offset; if (pdevice_id) *pdevice_id = device_id; if (poffset) *poffset = offset; return ftaddr; }
/* * Ref: * HalSdioGetCmdAddr8723ASdio() */ static u32 _cvrt2ftaddr(const u32 addr, u8 *pdeviceId, u16 *poffset) { u8 deviceId; u16 offset; u32 ftaddr; deviceId = get_deviceid(addr); printk("%s(): deviceId is %d\n", __func__, deviceId); offset = 0; switch (deviceId) { case SDIO_LOCAL_DEVICE_ID: offset = addr & SDIO_LOCAL_MSK; break; case WLAN_TX_HIQ_DEVICE_ID: case WLAN_TX_MIQ_DEVICE_ID: case WLAN_TX_LOQ_DEVICE_ID: offset = addr & WLAN_FIFO_MSK; break; case WLAN_RX0FF_DEVICE_ID: offset = addr & WLAN_RX0FF_MSK; break; // case WLAN_IOREG_DEVICE_ID: default: deviceId = SDIO_LOCAL_DEVICE_ID; offset = addr & SDIO_LOCAL_MSK; break; } ftaddr = (deviceId << 13) | offset; if (pdeviceId) *pdeviceId = deviceId; if (poffset) *poffset = offset; return ftaddr; }