drivers/nvme: Rely on CONFIG_MMU_PAGE_SIZE for PRP

Getting rid of 4Kib page size hardcoded value on PRP handling.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This commit is contained in:
Tomasz Bursztyka 2023-09-15 12:14:51 +02:00 committed by Carles Cufí
commit 0b45688335

View file

@ -306,16 +306,14 @@ enum nvme_feature {
#define CACHE_LINE_SIZE CONFIG_DCACHE_LINE_SIZE #define CACHE_LINE_SIZE CONFIG_DCACHE_LINE_SIZE
#endif #endif
/* Assuming page size it always 4Kib #define NVME_PBAO_MASK (CONFIG_MMU_PAGE_SIZE - 1)
* ToDo: define it accorditng to CONFIG_MMU_PAGE_SIZE
*/
#define NVME_PBAO_MASK 0xFFF
#define NVME_PRP_NEXT_PAGE(_addr) ((_addr & (~NVME_PBAO_MASK)) + 0x1000) #define NVME_PRP_NEXT_PAGE(_addr) \
((_addr & ~NVME_PBAO_MASK) + CONFIG_MMU_PAGE_SIZE)
struct nvme_prp_list { struct nvme_prp_list {
uintptr_t prp[CONFIG_MMU_PAGE_SIZE / sizeof(uintptr_t)] uintptr_t prp[CONFIG_MMU_PAGE_SIZE / sizeof(uintptr_t)]
__aligned(0x1000); __aligned(CONFIG_MMU_PAGE_SIZE);
sys_dnode_t node; sys_dnode_t node;
}; };