1*14b24e2bSVaishali Kulkarni /* 2*14b24e2bSVaishali Kulkarni * @brief ecore_ptt_acquire - Allocate a PTT window 3*14b24e2bSVaishali Kulkarni * 4*14b24e2bSVaishali Kulkarni * Should be called at the entry point to the driver (at the beginning of an 5*14b24e2bSVaishali Kulkarni * exported function) 6*14b24e2bSVaishali Kulkarni * 7*14b24e2bSVaishali Kulkarni * @param p_hwfn 8*14b24e2bSVaishali Kulkarni * 9*14b24e2bSVaishali Kulkarni * @return struct ecore_ptt 10*14b24e2bSVaishali Kulkarni */ 11*14b24e2bSVaishali Kulkarni struct ecore_ptt *ecore_ptt_acquire(struct ecore_hwfn *p_hwfn); 12*14b24e2bSVaishali Kulkarni 13*14b24e2bSVaishali Kulkarni /* 14*14b24e2bSVaishali Kulkarni * @brief ecore_ptt_release - Release PTT Window 15*14b24e2bSVaishali Kulkarni * 16*14b24e2bSVaishali Kulkarni * Should be called at the end of a flow - at the end of the function that 17*14b24e2bSVaishali Kulkarni * acquired the PTT. 18*14b24e2bSVaishali Kulkarni * 19*14b24e2bSVaishali Kulkarni * @param p_hwfn 20*14b24e2bSVaishali Kulkarni * @param p_ptt 21*14b24e2bSVaishali Kulkarni */ 22*14b24e2bSVaishali Kulkarni void ecore_ptt_release(struct ecore_hwfn *p_hwfn, 23*14b24e2bSVaishali Kulkarni struct ecore_ptt *p_ptt); 24*14b24e2bSVaishali Kulkarni 25*14b24e2bSVaishali Kulkarni /* 26*14b24e2bSVaishali Kulkarni * @brief ecore_wr - Write value to GRC BAR using the given ptt 27*14b24e2bSVaishali Kulkarni * 28*14b24e2bSVaishali Kulkarni * @param p_hwfn 29*14b24e2bSVaishali Kulkarni * @param p_ptt 30*14b24e2bSVaishali Kulkarni * @param val 31*14b24e2bSVaishali Kulkarni * @param hw_addr 32*14b24e2bSVaishali Kulkarni */ 33*14b24e2bSVaishali Kulkarni void ecore_wr(struct ecore_hwfn *p_hwfn, 34*14b24e2bSVaishali Kulkarni struct ecore_ptt *p_ptt, 35*14b24e2bSVaishali Kulkarni u32 hw_addr, 36*14b24e2bSVaishali Kulkarni u32 val); 37*14b24e2bSVaishali Kulkarni 38*14b24e2bSVaishali Kulkarni /* 39*14b24e2bSVaishali Kulkarni * @brief ecore_rd - Read value to GRC BAR using the given ptt 40*14b24e2bSVaishali Kulkarni * 41*14b24e2bSVaishali Kulkarni * @param p_hwfn 42*14b24e2bSVaishali Kulkarni * @param p_ptt 43*14b24e2bSVaishali Kulkarni * @param val 44*14b24e2bSVaishali Kulkarni * @param hw_addr 45*14b24e2bSVaishali Kulkarni */ 46*14b24e2bSVaishali Kulkarni u32 ecore_rd(struct ecore_hwfn *p_hwfn, 47*14b24e2bSVaishali Kulkarni struct ecore_ptt *p_ptt, 48*14b24e2bSVaishali Kulkarni u32 hw_addr); 49*14b24e2bSVaishali Kulkarni 50*14b24e2bSVaishali Kulkarni /* 51*14b24e2bSVaishali Kulkarni * @brief ecore_ptt_pretend - pretend to be another function 52*14b24e2bSVaishali Kulkarni * when accessing the ptt window 53*14b24e2bSVaishali Kulkarni * 54*14b24e2bSVaishali Kulkarni * @param p_hwfn 55*14b24e2bSVaishali Kulkarni * @param p_ptt 56*14b24e2bSVaishali Kulkarni * @param pretend 57*14b24e2bSVaishali Kulkarni */ 58*14b24e2bSVaishali Kulkarni void ecore_ptt_pretend(struct ecore_hwfn *p_hwfn, 59*14b24e2bSVaishali Kulkarni struct ecore_ptt *p_ptt, 60*14b24e2bSVaishali Kulkarni struct pxp_pretend pretend); 61