mirror of
https://github.com/patjak/facetimehd.git
synced 2026-04-09 11:02:31 +02:00
bcwc_pcie: enable/disable interrupts in SoC
This commit is contained in:
@@ -87,6 +87,7 @@ static int bcwc_pci_reserve_mem(struct bcwc_private *dev_priv)
|
||||
|
||||
static void bcwc_irq_work(struct work_struct *work)
|
||||
{
|
||||
printk("BCWC interrupt\n");
|
||||
}
|
||||
|
||||
static irqreturn_t bcwc_irq_handler(int irq, void *arg)
|
||||
@@ -205,6 +206,7 @@ static void bcwc_pci_remove(struct pci_dev *pdev)
|
||||
|
||||
dev_priv = pci_get_drvdata(pdev);
|
||||
|
||||
bcwc_hw_deinit(dev_priv);
|
||||
if (dev_priv) {
|
||||
isp_mem_destroy(dev_priv->firmware);
|
||||
bcwc_irq_disable(dev_priv);
|
||||
|
||||
14
bcwc_hw.c
14
bcwc_hw.c
@@ -660,11 +660,13 @@ static int bcwc_hw_ddr_phy_save_regs(struct bcwc_private *dev_priv)
|
||||
|
||||
static int bcwc_hw_irq_enable(struct bcwc_private *dev_priv)
|
||||
{
|
||||
BCWC_ISP_REG_WRITE(0xf8, ISP_REG_41004);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int bcwc_hw_irq_disable(struct bcwc_private *dev_priv)
|
||||
{
|
||||
BCWC_ISP_REG_WRITE(0, ISP_REG_41004);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -720,8 +722,18 @@ int bcwc_hw_init(struct bcwc_private *dev_priv)
|
||||
|
||||
BCWC_ISP_REG_WRITE(0, ISP_REG_40004);
|
||||
|
||||
isp_init(dev_priv);
|
||||
ret = isp_init(dev_priv);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
dev_info(&dev_priv->pdev->dev, "Enabling interrupts\n");
|
||||
bcwc_hw_irq_enable(dev_priv);
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
void bcwc_hw_deinit(struct bcwc_private *priv)
|
||||
{
|
||||
dev_info(&priv->pdev->dev, "%s", __FUNCTION__);
|
||||
bcwc_hw_irq_disable(priv);
|
||||
}
|
||||
|
||||
@@ -115,5 +115,5 @@ static inline void _BCWC_ISP_REG_WRITE(struct bcwc_private *dev_priv, u32 val,
|
||||
}
|
||||
|
||||
extern int bcwc_hw_init(struct bcwc_private *dev_priv);
|
||||
|
||||
extern void bcwc_hw_deinit(struct bcwc_private *priv);
|
||||
#endif
|
||||
|
||||
@@ -160,6 +160,7 @@
|
||||
#define ISP_REG_40004 0x40004
|
||||
#define ISP_REG_40008 0x40008
|
||||
#define ISP_REG_41000 0x41000
|
||||
#define ISP_REG_41004 0x41004
|
||||
#define ISP_REG_41020 0x41020
|
||||
#define ISP_REG_41024 0x41024
|
||||
|
||||
|
||||
Reference in New Issue
Block a user