• David S. Miller's avatar
    sparc64: Fix bit twiddling in sparc_pmu_enable_event(). · e793d8c6
    David S. Miller authored
    There was a serious disconnect in the logic happening in
    sparc_pmu_disable_event() vs. sparc_pmu_enable_event().
    
    Event disable is implemented by programming a NOP event into the PCR.
    
    However, event enable was not reversing this operation.  Instead, it
    was setting the User/Priv/Hypervisor trace enable bits.
    
    That's not sparc_pmu_enable_event()'s job, that's what
    sparc_pmu_enable() and sparc_pmu_disable() do .
    
    The intent of sparc_pmu_enable_event() is clear, since it first clear
    out the event type encoding field.  So fix this by OR'ing in the event
    encoding rather than the trace enable bits.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e793d8c6
perf_event.c 44.5 KB