Re: [PATCH] dmaengine: qcom-bam: fix circular buffer handling

From: Srinivas Kandagatla
Date: Tue Jun 18 2019 - 12:55:13 EST




On 18/06/2019 17:27, Sricharan R wrote:
The Macro's expect that buffer size is power of 2. So we are infact passing the actual correct
size ( MAX_DESCRIPTORS + 1 = 4096)
This will make the circular buffer macros happy but question is that do we actually have that many descriptor buffers?

This is what is in the driver:

#define BAM_DESC_FIFO_SIZE SZ_32K
#define MAX_DESCRIPTORS (BAM_DESC_FIFO_SIZE / sizeof(struct bam_desc_hw) - 1)
#define BAM_FIFO_SIZE (SZ_32K - 8)

Wouldn't having MAX_DESCRIPTORS + 1 = 4096 lead to overflow the actual descriptor memory size of (SZ_32K - 8) ?

--srini