• Leo Yan's avatar
    coresight: tmc: Fix byte-address alignment for RRP · 36aa9cd2
    Leo Yan authored
    [ Upstream commit e7753f39 ]
    
    >From the comment in the code, it claims the requirement for byte-address
    alignment for RRP register: 'for 32-bit, 64-bit and 128-bit wide trace
    memory, the four LSBs must be 0s. For 256-bit wide trace memory, the
    five LSBs must be 0s'.  This isn't consistent with the program, the
    program sets five LSBs as zeros for 32/64/128-bit wide trace memory and
    set six LSBs zeros for 256-bit wide trace memory.
    
    After checking with the CoreSight Trace Memory Controller technical
    reference manual (ARM DDI 0461B, section 3.3.4 RAM Read Pointer
    Register), it proves the comment is right and the program does wrong
    setting.
    
    This patch fixes byte-address alignment for RRP by following correct
    definition in the technical reference manual.
    
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Mike Leach <mike.leach@linaro.org>
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    36aa9cd2
coresight-tmc-etf.c 14.9 KB