• Viresh Kumar's avatar
    dmaengine/amba-pl08x: Get rid of pl08x_pre_boundary() · 16a2e7d3
    Viresh Kumar authored
    Pl080 Manual says: "Bursts do not cross the 1KB address boundary"
    
    We can program the controller to cross 1 KB boundary on a burst and controller
    can take care of this boundary condition by itself.
    
    Following is the discussion with ARM Technical Support Guys (David):
    [Viresh] Manual says: "Bursts do not cross the 1KB address boundary"
    
    What does that actually mean? As, Maximum size transferable with a single LLI is
    4095 * 4 =16380 ~ 16KB. So, if we don't have src/dest address aligned to burst
    size, we can't use this big of an LLI.
    
    [David] There is a difference between bursts describing the total data
    transferred by the DMA controller and AHB bursts. Bursts described by the
    programmable parameters in the PL080 have no direct connection with the bursts
    that are seen on the AHB bus.
    
    The statement that "Bursts do not cross the 1KB address boundary" in the TRM is
    referring to AHB bursts, where this limitation is a requirement of the AHB spec.
    You can still issue bursts within the PL080 that are in excess of 1KB. The
    PL080 will make sure that its bursts are broken down into legal AHB bursts which
    will be formatted to ensure that no AHB burst crosses a 1KB boundary.
    
    Based on above discussion, this patch removes all code related to 1 KB boundary
    as we are not required to handle this in driver.
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
    Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    16a2e7d3
amba-pl08x.c 51.3 KB