• Rahul Verma's avatar
    qed: Align local and global PTT to propagate through the APIs. · 706d0891
    Rahul Verma authored
        Align the use of local PTT to propagate through the qed_mcp* API's.
        Global ptt should not be used.
    
        Register access should be done through layers. Register address is
        mapped into a PTT, PF translation table. Several interface functions
        require a PTT to direct read/write into register. There is a pool of
        PTT maintained, and several PTT are used simultaneously to access
        device registers in different flows. Same PTT should not be used in
        flows that can run concurrently.
        To avoid running out of PTT resources, too many PTT should not be
        acquired without releasing them. Every PF has a global PTT, which is
        used throughout the life of PF, in most important flows for register
        access. Generic functions acquire the PTT locally and release after
        the use. This patch aligns the use of Global PTT and Local PTT
        accordingly.
    Signed-off-by: default avatarRahul Verma <rahul.verma@cavium.com>
    Signed-off-by: default avatarAriel Elior <ariel.elior@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    706d0891
qed_main.c 59.2 KB