[PATCH v6 00/10] ath10k: sdio support

Kalle Valo kvalo at qca.qualcomm.com
Tue Mar 28 04:53:51 PDT 2017


Kalle Valo <kvalo at qca.qualcomm.com> writes:

> I did some changes while reviewing Erik's SDIO patches. Only compile
> tested, I don't have any SDIO boards at the moment.

[...]

> still todo:
>
> o fix remaining memory leaks (if any)
>
> o endian support, eg ath10k_sdio_hif_set_mbox_sleep()
>
> o are ath10k_sdio_io() and ath10k_sdio_read_write_sync() really
>   necessary? looks like just an unnecessary abstraction layer

It took me longer than I planned, but here are my notes about what I'm
planning to do to remove unnecessary ath10k_sdio_io() abstraction:

ath10k_sdio_read_write_sync():
HIF_RD_SYNC_BLOCK_FIX	-> ath10k_sdio_readsb()
HIF_RD_SYNC_BYTE_INC	-> ath10k_sdio_read(), ath10k_sdio_read32()
HIF_WR_SYNC_BYTE_FIX	-> ath10k_sdio_writesb()
HIF_WR_SYNC_BYTE_INC	-> ath10k_sdio_write()

ath10k_sdio_prep_async_req():
HIF_WRITE		-> HIF_WR_SYNC_BYTE_INC -> ath10k_sdio_write()

ath10k_sdio_read/write32():
sdio_readl()/sdio_writel() (those use endian macros)

ath10k_sdio_readsb():
len = round_down(len, ar_sdio->mbox_info.block_size);
sdio_memcpy_fromio(len)

With these changes I'm hoping to get rid of also the memory leaks and
have proper endian support.

-- 
Kalle Valo


More information about the ath10k mailing list