Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 1 Aug 2023 10:31:42 +0530 | Subject | Re: [PATCH v4 3/9] PCI: epf-mhi: Add support for handling D-state notify from EPC | From | Krishna Chaitanya Chundru <> |
| |
On 7/31/2023 11:05 AM, Krishna Chaitanya Chundru wrote: > > On 7/28/2023 9:39 AM, Manivannan Sadhasivam wrote: >> On Thu, Jul 13, 2023 at 12:40:12PM +0530, Krishna chaitanya chundru >> wrote: >>> Add support for handling D-state notify for MHI EPF. >>> >>> Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com> >>> --- >>> drivers/pci/endpoint/functions/pci-epf-mhi.c | 11 +++++++++++ >>> include/linux/mhi_ep.h | 3 +++ >>> 2 files changed, 14 insertions(+) >>> >>> diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c >>> b/drivers/pci/endpoint/functions/pci-epf-mhi.c >>> index 9c1f5a1..ee91bfc 100644 >>> --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c >>> +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c >>> @@ -339,6 +339,16 @@ static int pci_epf_mhi_bme(struct pci_epf *epf) >>> return 0; >>> } >>> +static int pci_epf_mhi_dstate_notify(struct pci_epf *epf, >>> pci_power_t state) >>> +{ >>> + struct pci_epf_mhi *epf_mhi = epf_get_drvdata(epf); >>> + struct mhi_ep_cntrl *mhi_cntrl = &epf_mhi->mhi_cntrl; >>> + >>> + mhi_cntrl->dstate = state; >> Where is this variable being used? Also, don't we need any locking? >> >> - Mani > > we are using this variable in wakeup host op which is introduced on > patch [PATCH v4 8/9] PCI: epf-mhi: Add wakeup host op > > I will add lock in my next series. > > - KC
Mani, as this is being called from IRQ context do we need to add any lock here.
- KC
> >> >>> + >>> + return 0; >>> +} >>> + >>> static int pci_epf_mhi_bind(struct pci_epf *epf) >>> { >>> struct pci_epf_mhi *epf_mhi = epf_get_drvdata(epf); >>> @@ -394,6 +404,7 @@ static struct pci_epc_event_ops >>> pci_epf_mhi_event_ops = { >>> .link_up = pci_epf_mhi_link_up, >>> .link_down = pci_epf_mhi_link_down, >>> .bme = pci_epf_mhi_bme, >>> + .dstate_notify = pci_epf_mhi_dstate_notify, >>> }; >>> static int pci_epf_mhi_probe(struct pci_epf *epf, >>> diff --git a/include/linux/mhi_ep.h b/include/linux/mhi_ep.h >>> index f198a8a..c3a0685 100644 >>> --- a/include/linux/mhi_ep.h >>> +++ b/include/linux/mhi_ep.h >>> @@ -8,6 +8,7 @@ >>> #include <linux/dma-direction.h> >>> #include <linux/mhi.h> >>> +#include <linux/pci.h> >>> #define MHI_EP_DEFAULT_MTU 0x8000 >>> @@ -139,6 +140,8 @@ struct mhi_ep_cntrl { >>> enum mhi_state mhi_state; >>> + pci_power_t dstate; >>> + >>> u32 max_chan; >>> u32 mru; >>> u32 event_rings; >>> -- >>> 2.7.4 >>> >
| ![\](/images/icornerr.gif) |