• Leo Yan's avatar
    coresight: tmc: Fix byte-address alignment for RRP · e7753f39
    Leo Yan authored
    >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>
    e7753f39
coresight-tmc-etf.c 14 KB