Messages in this thread | | | Date | Sat, 21 Mar 2020 19:47:13 -0700 (PDT) | Subject | Re: [PATCH] soc: qcom: ipa: kill IPA_RX_BUFFER_ORDER | From | David Miller <> |
| |
From: Alex Elder <elder@linaro.org> Date: Fri, 20 Mar 2020 11:02:20 -0500
> Don't assume the receive buffer size is a power-of-2 number of pages. > Instead, define the receive buffer size independently, and then > compute the page order from that size when needed. > > This fixes a build problem that arises when the ARM64_PAGE_SHIFT > config option is set to have a page size greater than 4KB. The > problem was identified by Linux Kernel Functional Testing. > > The IPA code basically assumed the page size to be 4KB. A larger page > size caused the receive buffer size to become correspondingly larger > (32KB or 128KB for ARM64_16K_PAGES and ARM64_64K_PAGES, respectively). > The receive buffer size is used to compute an "aggregation byte limit" > value that gets programmed into the hardware, and the large page sizes > caused that limit value to be too big to fit in a 5 bit field. This > triggered a BUILD_BUG_ON() call in ipa_endpoint_validate_build(). > > This fix causes a lot of receive buffer memory to be wasted if > system is configured for page size greater than 4KB. But such a > misguided configuration will now build successfully. > > Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org> > Signed-off-by: Alex Elder <elder@linaro.org> > --- > > Dave, I *hope* this is it for IPA for this release. -Alex
Applied to net-next, thanks.
| |