Lines Matching refs:icu
58 struct mvebu_icu *icu; member
64 struct mvebu_icu *icu; member
71 static void mvebu_icu_init(struct mvebu_icu *icu, in mvebu_icu_init() argument
81 writel_relaxed(msg[0].address_hi, icu->base + subset->offset_set_ah); in mvebu_icu_init()
82 writel_relaxed(msg[0].address_lo, icu->base + subset->offset_set_al); in mvebu_icu_init()
88 writel_relaxed(msg[1].address_hi, icu->base + subset->offset_clr_ah); in mvebu_icu_init()
89 writel_relaxed(msg[1].address_lo, icu->base + subset->offset_clr_al); in mvebu_icu_init()
97 struct mvebu_icu *icu = icu_irqd->icu; in mvebu_icu_write_msg() local
102 mvebu_icu_init(icu, msi_data, msg); in mvebu_icu_write_msg()
113 writel_relaxed(icu_int, icu->base + ICU_INT_CFG(d->hwirq)); in mvebu_icu_write_msg()
126 icu->base + ICU_INT_CFG(ICU_SATA0_ICU_ID)); in mvebu_icu_write_msg()
128 icu->base + ICU_INT_CFG(ICU_SATA1_ICU_ID)); in mvebu_icu_write_msg()
155 struct mvebu_icu *icu = platform_msi_get_host_data(d); in mvebu_icu_irq_domain_translate() local
160 dev_err(icu->dev, "wrong ICU parameter count %d\n", in mvebu_icu_irq_domain_translate()
169 dev_err(icu->dev, "wrong ICU group type %x\n", in mvebu_icu_irq_domain_translate()
188 dev_err(icu->dev, "invalid interrupt number %ld\n", *hwirq); in mvebu_icu_irq_domain_translate()
203 struct mvebu_icu *icu = msi_data->icu; in mvebu_icu_irq_domain_alloc() local
214 dev_err(icu->dev, "failed to translate ICU parameters\n"); in mvebu_icu_irq_domain_alloc()
222 icu_irqd->icu = icu; in mvebu_icu_irq_domain_alloc()
226 dev_err(icu->dev, "failed to allocate ICU interrupt in parent domain\n"); in mvebu_icu_irq_domain_alloc()
241 dev_err(icu->dev, "failed to set the data to IRQ domain\n"); in mvebu_icu_irq_domain_alloc()
310 msi_data->icu = dev_get_drvdata(dev); in mvebu_icu_subset_probe()
313 msi_data->icu = dev_get_drvdata(dev->parent); in mvebu_icu_subset_probe()
349 struct mvebu_icu *icu; in mvebu_icu_probe() local
353 icu = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_icu), in mvebu_icu_probe()
355 if (!icu) in mvebu_icu_probe()
358 icu->dev = &pdev->dev; in mvebu_icu_probe()
361 icu->base = devm_ioremap_resource(&pdev->dev, res); in mvebu_icu_probe()
362 if (IS_ERR(icu->base)) { in mvebu_icu_probe()
364 return PTR_ERR(icu->base); in mvebu_icu_probe()
384 icu_int = readl_relaxed(icu->base + ICU_INT_CFG(i)); in mvebu_icu_probe()
390 writel_relaxed(0x0, icu->base + ICU_INT_CFG(i)); in mvebu_icu_probe()
393 platform_set_drvdata(pdev, icu); in mvebu_icu_probe()