Lines Matching defs:host
23 struct host1x *host = syncpt->host;
25 host1x_sync_writel(host, BIT(id % 32),
27 host1x_sync_writel(host, BIT(id % 32),
35 struct host1x *host = dev_id;
39 for (i = 0; i < DIV_ROUND_UP(host->info->nb_pts, 32); i++) {
40 reg = host1x_sync_readl(host,
44 host->syncpt + (i * 32 + id);
52 static void _host1x_intr_disable_all_syncpt_intrs(struct host1x *host)
56 for (i = 0; i < DIV_ROUND_UP(host->info->nb_pts, 32); ++i) {
57 host1x_sync_writel(host, 0xffffffffu,
59 host1x_sync_writel(host, 0xffffffffu,
64 static void intr_hw_init(struct host1x *host, u32 cpm)
68 host1x_sync_writel(host, 0, HOST1X_SYNC_IP_BUSY_TIMEOUT);
74 host1x_sync_writel(host, 0xff, HOST1X_SYNC_CTXSW_TIMEOUT_CFG);
76 /* update host clocks per usec */
77 host1x_sync_writel(host, cpm, HOST1X_SYNC_USEC_CLK);
82 _host1x_intr_init_host_sync(struct host1x *host, u32 cpm,
88 host1x_hw_intr_disable_all_syncpt_intrs(host);
90 for (i = 0; i < host->info->nb_pts; i++)
91 INIT_WORK(&host->syncpt[i].intr.work, syncpt_thresh_work);
93 err = devm_request_irq(host->dev, host->intr_syncpt_irq,
95 "host1x_syncpt", host);
101 intr_hw_init(host, cpm);
106 static void _host1x_intr_set_syncpt_threshold(struct host1x *host,
110 host1x_sync_writel(host, thresh, HOST1X_SYNC_SYNCPT_INT_THRESH(id));
113 static void _host1x_intr_enable_syncpt_intr(struct host1x *host,
116 host1x_sync_writel(host, BIT(id % 32),
120 static void _host1x_intr_disable_syncpt_intr(struct host1x *host,
123 host1x_sync_writel(host, BIT(id % 32),
125 host1x_sync_writel(host, BIT(id % 32),
129 static int _host1x_free_syncpt_irq(struct host1x *host)
133 devm_free_irq(host->dev, host->intr_syncpt_irq, host);
135 for (i = 0; i < host->info->nb_pts; i++)
136 cancel_work_sync(&host->syncpt[i].intr.work);