Lines Matching refs:soc

103 	if (mc->soc->ops && mc->soc->ops->probe_device)  in tegra_mc_probe_device()
104 return mc->soc->ops->probe_device(mc, dev); in tegra_mc_probe_device()
115 if (id < 1 || id >= mc->soc->num_carveouts) in tegra_mc_get_carveout_info()
196 for (i = 0; i < mc->soc->num_resets; i++) in tegra_mc_reset_find()
197 if (mc->soc->resets[i].id == id) in tegra_mc_reset_find()
198 return &mc->soc->resets[i]; in tegra_mc_reset_find()
216 rst_ops = mc->soc->reset_ops; in tegra_mc_hotreset_assert()
275 rst_ops = mc->soc->reset_ops; in tegra_mc_hotreset_deassert()
313 rst_ops = mc->soc->reset_ops; in tegra_mc_hotreset_status()
334 mc->reset.nr_resets = mc->soc->num_resets; in tegra_mc_reset_setup()
361 for (i = 0; i < mc->soc->num_emem_regs; ++i) in tegra_mc_write_emem_configuration()
362 mc_writel(mc, timing->emem_data[i], mc->soc->emem_regs[i]); in tegra_mc_write_emem_configuration()
401 for (i = 0; i < mc->soc->num_clients; i++) { in tegra_mc_setup_latency_allowance()
402 const struct tegra_mc_client *client = &mc->soc->clients[i]; in tegra_mc_setup_latency_allowance()
432 timing->emem_data = devm_kcalloc(mc->dev, mc->soc->num_emem_regs, in load_one_timing()
439 mc->soc->num_emem_regs); in load_one_timing()
545 if ((status & mc->soc->ch_intmask) == 0) in mc_global_intstatus_to_channel()
548 *mc_channel = __ffs((status & mc->soc->ch_intmask) >> in mc_global_intstatus_to_channel()
549 mc->soc->global_intstatus_channel_shift); in mc_global_intstatus_to_channel()
557 return BIT(channel) << mc->soc->global_intstatus_channel_shift; in mc_channel_to_global_intstatus()
566 if (mc->soc->num_channels) { in tegra30_mc_handle_irq()
579 status = mc_ch_readl(mc, channel, MC_INTSTATUS) & mc->soc->intmask; in tegra30_mc_handle_irq()
581 status = mc_readl(mc, MC_INTSTATUS) & mc->soc->intmask; in tegra30_mc_handle_irq()
633 if (mc->soc->has_addr_hi_reg) in tegra30_mc_handle_irq()
639 if (mc->soc->num_channels) in tegra30_mc_handle_irq()
645 if (mc->soc->num_address_bits > 32) { in tegra30_mc_handle_irq()
647 if (mc->soc->num_channels) in tegra30_mc_handle_irq()
669 id = value & mc->soc->client_id_mask; in tegra30_mc_handle_irq()
671 for (i = 0; i < mc->soc->num_clients; i++) { in tegra30_mc_handle_irq()
672 if (mc->soc->clients[i].id == id) { in tegra30_mc_handle_irq()
673 client = mc->soc->clients[i].name; in tegra30_mc_handle_irq()
711 if (mc->soc->num_channels) in tegra30_mc_handle_irq()
723 if (mc->soc->num_channels) { in tegra30_mc_handle_irq()
788 !mc->soc->icc_ops) in tegra_mc_interconnect_setup()
793 mc->provider.set = mc->soc->icc_ops->set; in tegra_mc_interconnect_setup()
794 mc->provider.aggregate = mc->soc->icc_ops->aggregate; in tegra_mc_interconnect_setup()
795 mc->provider.xlate_extended = mc->soc->icc_ops->xlate_extended; in tegra_mc_interconnect_setup()
816 for (i = 0; i < mc->soc->num_clients; i++) { in tegra_mc_interconnect_setup()
818 node = icc_node_create(mc->soc->clients[i].id); in tegra_mc_interconnect_setup()
824 node->name = mc->soc->clients[i].name; in tegra_mc_interconnect_setup()
855 mc->soc = of_device_get_match_data(&pdev->dev); in tegra_mc_probe()
858 mask = DMA_BIT_MASK(mc->soc->num_address_bits); in tegra_mc_probe()
875 if (mc->soc->ops && mc->soc->ops->probe) { in tegra_mc_probe()
876 err = mc->soc->ops->probe(mc); in tegra_mc_probe()
881 if (mc->soc->ops && mc->soc->ops->handle_irq) { in tegra_mc_probe()
886 WARN(!mc->soc->client_id_mask, "missing client ID mask for this SoC\n"); in tegra_mc_probe()
888 if (mc->soc->num_channels) in tegra_mc_probe()
889 mc_ch_writel(mc, MC_BROADCAST_CHANNEL, mc->soc->intmask, in tegra_mc_probe()
892 mc_writel(mc, mc->soc->intmask, MC_INTMASK); in tegra_mc_probe()
894 err = devm_request_irq(&pdev->dev, mc->irq, mc->soc->ops->handle_irq, 0, in tegra_mc_probe()
903 if (mc->soc->reset_ops) { in tegra_mc_probe()
914 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_SMMU) && mc->soc->smmu) { in tegra_mc_probe()
915 mc->smmu = tegra_smmu_probe(&pdev->dev, mc->soc->smmu, mc); in tegra_mc_probe()
923 if (IS_ENABLED(CONFIG_TEGRA_IOMMU_GART) && !mc->soc->smmu) { in tegra_mc_probe()
939 if (mc->soc->ops && mc->soc->ops->suspend) in tegra_mc_suspend()
940 return mc->soc->ops->suspend(mc); in tegra_mc_suspend()
949 if (mc->soc->ops && mc->soc->ops->resume) in tegra_mc_resume()
950 return mc->soc->ops->resume(mc); in tegra_mc_resume()