Loading drivers/net/wireless/cnss2/pci.c +16 −6 Original line number Original line Diff line number Diff line Loading @@ -394,7 +394,6 @@ static int cnss_pci_reg_read(struct cnss_pci_data *pci_priv, u32 offset, u32 *val) u32 offset, u32 *val) { { int ret; int ret; unsigned long flags; ret = cnss_pci_check_link_status(pci_priv); ret = cnss_pci_check_link_status(pci_priv); if (ret) if (ret) Loading @@ -406,12 +405,12 @@ static int cnss_pci_reg_read(struct cnss_pci_data *pci_priv, return 0; return 0; } } spin_lock_irqsave(&pci_reg_window_lock, flags); spin_lock_bh(&pci_reg_window_lock); cnss_pci_select_window(pci_priv, offset); cnss_pci_select_window(pci_priv, offset); *val = readl_relaxed(pci_priv->bar + WINDOW_START + *val = readl_relaxed(pci_priv->bar + WINDOW_START + (offset & WINDOW_RANGE_MASK)); (offset & WINDOW_RANGE_MASK)); spin_unlock_irqrestore(&pci_reg_window_lock, flags); spin_unlock_bh(&pci_reg_window_lock); return 0; return 0; } } Loading @@ -420,7 +419,6 @@ static int cnss_pci_reg_write(struct cnss_pci_data *pci_priv, u32 offset, u32 val) u32 val) { { int ret; int ret; unsigned long flags; ret = cnss_pci_check_link_status(pci_priv); ret = cnss_pci_check_link_status(pci_priv); if (ret) if (ret) Loading @@ -432,12 +430,12 @@ static int cnss_pci_reg_write(struct cnss_pci_data *pci_priv, u32 offset, return 0; return 0; } } spin_lock_irqsave(&pci_reg_window_lock, flags); spin_lock_bh(&pci_reg_window_lock); cnss_pci_select_window(pci_priv, offset); cnss_pci_select_window(pci_priv, offset); writel_relaxed(val, pci_priv->bar + WINDOW_START + writel_relaxed(val, pci_priv->bar + WINDOW_START + (offset & WINDOW_RANGE_MASK)); (offset & WINDOW_RANGE_MASK)); spin_unlock_irqrestore(&pci_reg_window_lock, flags); spin_unlock_bh(&pci_reg_window_lock); return 0; return 0; } } Loading Loading @@ -810,6 +808,18 @@ int cnss_pci_is_device_down(struct device *dev) } } EXPORT_SYMBOL(cnss_pci_is_device_down); EXPORT_SYMBOL(cnss_pci_is_device_down); void cnss_pci_lock_reg_window(struct device *dev, unsigned long *flags) { spin_lock_bh(&pci_reg_window_lock); } EXPORT_SYMBOL(cnss_pci_lock_reg_window); void cnss_pci_unlock_reg_window(struct device *dev, unsigned long *flags) { spin_unlock_bh(&pci_reg_window_lock); } EXPORT_SYMBOL(cnss_pci_unlock_reg_window); static char *cnss_mhi_state_to_str(enum cnss_mhi_state mhi_state) static char *cnss_mhi_state_to_str(enum cnss_mhi_state mhi_state) { { switch (mhi_state) { switch (mhi_state) { Loading include/net/cnss2.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -190,6 +190,9 @@ extern void cnss_request_pm_qos(struct device *dev, u32 qos_val); extern void cnss_remove_pm_qos(struct device *dev); extern void cnss_remove_pm_qos(struct device *dev); extern void cnss_lock_pm_sem(struct device *dev); extern void cnss_lock_pm_sem(struct device *dev); extern void cnss_release_pm_sem(struct device *dev); extern void cnss_release_pm_sem(struct device *dev); extern void cnss_pci_lock_reg_window(struct device *dev, unsigned long *flags); extern void cnss_pci_unlock_reg_window(struct device *dev, unsigned long *flags); extern int cnss_wlan_pm_control(struct device *dev, bool vote); extern int cnss_wlan_pm_control(struct device *dev, bool vote); extern int cnss_auto_suspend(struct device *dev); extern int cnss_auto_suspend(struct device *dev); extern int cnss_auto_resume(struct device *dev); extern int cnss_auto_resume(struct device *dev); Loading Loading
drivers/net/wireless/cnss2/pci.c +16 −6 Original line number Original line Diff line number Diff line Loading @@ -394,7 +394,6 @@ static int cnss_pci_reg_read(struct cnss_pci_data *pci_priv, u32 offset, u32 *val) u32 offset, u32 *val) { { int ret; int ret; unsigned long flags; ret = cnss_pci_check_link_status(pci_priv); ret = cnss_pci_check_link_status(pci_priv); if (ret) if (ret) Loading @@ -406,12 +405,12 @@ static int cnss_pci_reg_read(struct cnss_pci_data *pci_priv, return 0; return 0; } } spin_lock_irqsave(&pci_reg_window_lock, flags); spin_lock_bh(&pci_reg_window_lock); cnss_pci_select_window(pci_priv, offset); cnss_pci_select_window(pci_priv, offset); *val = readl_relaxed(pci_priv->bar + WINDOW_START + *val = readl_relaxed(pci_priv->bar + WINDOW_START + (offset & WINDOW_RANGE_MASK)); (offset & WINDOW_RANGE_MASK)); spin_unlock_irqrestore(&pci_reg_window_lock, flags); spin_unlock_bh(&pci_reg_window_lock); return 0; return 0; } } Loading @@ -420,7 +419,6 @@ static int cnss_pci_reg_write(struct cnss_pci_data *pci_priv, u32 offset, u32 val) u32 val) { { int ret; int ret; unsigned long flags; ret = cnss_pci_check_link_status(pci_priv); ret = cnss_pci_check_link_status(pci_priv); if (ret) if (ret) Loading @@ -432,12 +430,12 @@ static int cnss_pci_reg_write(struct cnss_pci_data *pci_priv, u32 offset, return 0; return 0; } } spin_lock_irqsave(&pci_reg_window_lock, flags); spin_lock_bh(&pci_reg_window_lock); cnss_pci_select_window(pci_priv, offset); cnss_pci_select_window(pci_priv, offset); writel_relaxed(val, pci_priv->bar + WINDOW_START + writel_relaxed(val, pci_priv->bar + WINDOW_START + (offset & WINDOW_RANGE_MASK)); (offset & WINDOW_RANGE_MASK)); spin_unlock_irqrestore(&pci_reg_window_lock, flags); spin_unlock_bh(&pci_reg_window_lock); return 0; return 0; } } Loading Loading @@ -810,6 +808,18 @@ int cnss_pci_is_device_down(struct device *dev) } } EXPORT_SYMBOL(cnss_pci_is_device_down); EXPORT_SYMBOL(cnss_pci_is_device_down); void cnss_pci_lock_reg_window(struct device *dev, unsigned long *flags) { spin_lock_bh(&pci_reg_window_lock); } EXPORT_SYMBOL(cnss_pci_lock_reg_window); void cnss_pci_unlock_reg_window(struct device *dev, unsigned long *flags) { spin_unlock_bh(&pci_reg_window_lock); } EXPORT_SYMBOL(cnss_pci_unlock_reg_window); static char *cnss_mhi_state_to_str(enum cnss_mhi_state mhi_state) static char *cnss_mhi_state_to_str(enum cnss_mhi_state mhi_state) { { switch (mhi_state) { switch (mhi_state) { Loading
include/net/cnss2.h +3 −0 Original line number Original line Diff line number Diff line Loading @@ -190,6 +190,9 @@ extern void cnss_request_pm_qos(struct device *dev, u32 qos_val); extern void cnss_remove_pm_qos(struct device *dev); extern void cnss_remove_pm_qos(struct device *dev); extern void cnss_lock_pm_sem(struct device *dev); extern void cnss_lock_pm_sem(struct device *dev); extern void cnss_release_pm_sem(struct device *dev); extern void cnss_release_pm_sem(struct device *dev); extern void cnss_pci_lock_reg_window(struct device *dev, unsigned long *flags); extern void cnss_pci_unlock_reg_window(struct device *dev, unsigned long *flags); extern int cnss_wlan_pm_control(struct device *dev, bool vote); extern int cnss_wlan_pm_control(struct device *dev, bool vote); extern int cnss_auto_suspend(struct device *dev); extern int cnss_auto_suspend(struct device *dev); extern int cnss_auto_resume(struct device *dev); extern int cnss_auto_resume(struct device *dev); Loading