kernel: update kernel 4.4 to 4.4.52
[openwrt/staging/yousong.git] / target / linux / layerscape / patches-4.4 / 8241-irqchip-ls-scfg-msi-add-MSI-affinity-support.patch
index dbaef7a652211acad593a53c75a10e77b1637675..b3b3795b6cbfe204619da90077f2002d41925158 100644 (file)
@@ -32,8 +32,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  drivers/irqchip/irq-ls-scfg-msi.c | 68 ++++++++++++++++++++++++++++++++++++---
  1 file changed, 63 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/irqchip/irq-ls-scfg-msi.c b/drivers/irqchip/irq-ls-scfg-msi.c
-index 71a2050..57e3d90 100644
 --- a/drivers/irqchip/irq-ls-scfg-msi.c
 +++ b/drivers/irqchip/irq-ls-scfg-msi.c
 @@ -40,6 +40,7 @@ struct ls_scfg_msir {
@@ -44,7 +42,7 @@ index 71a2050..57e3d90 100644
        void __iomem *reg;
  };
  
-@@ -70,6 +71,19 @@ static struct msi_domain_info ls_scfg_msi_domain_info = {
+@@ -70,6 +71,19 @@ static struct msi_domain_info ls_scfg_ms
        .chip   = &ls_scfg_msi_irq_chip,
  };
  
@@ -64,7 +62,7 @@ index 71a2050..57e3d90 100644
  static void ls_scfg_msi_compose_msg(struct irq_data *data, struct msi_msg *msg)
  {
        struct ls_scfg_msi *msi_data = irq_data_get_irq_chip_data(data);
-@@ -77,12 +91,36 @@ static void ls_scfg_msi_compose_msg(struct irq_data *data, struct msi_msg *msg)
+@@ -77,12 +91,36 @@ static void ls_scfg_msi_compose_msg(stru
        msg->address_hi = upper_32_bits(msi_data->msiir_addr);
        msg->address_lo = lower_32_bits(msi_data->msiir_addr);
        msg->data = data->hwirq;
@@ -102,7 +100,7 @@ index 71a2050..57e3d90 100644
  }
  
  static struct irq_chip ls_scfg_msi_parent_chip = {
-@@ -158,7 +196,7 @@ static void ls_scfg_msi_irq_handler(struct irq_desc *desc)
+@@ -158,7 +196,7 @@ static void ls_scfg_msi_irq_handler(stru
  
        for_each_set_bit_from(pos, &val, size) {
                hwirq = ((msir->bit_end - pos) << msi_data->cfg->ibs_shift) |
@@ -111,7 +109,7 @@ index 71a2050..57e3d90 100644
                virq = irq_find_mapping(msi_data->parent, hwirq);
                if (virq)
                        generic_handle_irq(virq);
-@@ -221,10 +259,19 @@ static int ls_scfg_msi_setup_hwirq(struct ls_scfg_msi *msi_data, int index)
+@@ -221,10 +259,19 @@ static int ls_scfg_msi_setup_hwirq(struc
                                         ls_scfg_msi_irq_handler,
                                         msir);
  
@@ -134,7 +132,7 @@ index 71a2050..57e3d90 100644
        }
  
        return 0;
-@@ -321,6 +368,17 @@ static int ls_scfg_msi_probe(struct platform_device *pdev)
+@@ -321,6 +368,17 @@ static int ls_scfg_msi_probe(struct plat
        bitmap_set(msi_data->used, 0, msi_data->irqs_num);
  
        msi_data->msir_num = of_irq_count(pdev->dev.of_node);
@@ -152,6 +150,3 @@ index 71a2050..57e3d90 100644
        msi_data->msir = devm_kcalloc(&pdev->dev, msi_data->msir_num,
                                      sizeof(*msi_data->msir),
                                      GFP_KERNEL);
--- 
-2.1.0.27.g96db324
-