Lines Matching refs:ctx
58 struct spdif_dev_data *ctx = arg;
60 val = readl(ctx->base + XSPDIF_IRQ_STS_REG);
63 ctx->base + XSPDIF_IRQ_STS_REG);
64 val = readl(ctx->base +
67 ctx->base + XSPDIF_IRQ_ENABLE_REG);
69 ctx->rx_chsts_updated = true;
70 wake_up_interruptible(&ctx->chsts_q);
81 struct spdif_dev_data *ctx = dev_get_drvdata(dai->dev);
83 val = readl(ctx->base + XSPDIF_CONTROL_REG);
85 writel(val, ctx->base + XSPDIF_CONTROL_REG);
89 ctx->base + XSPDIF_IRQ_ENABLE_REG);
91 ctx->base + XSPDIF_GLOBAL_IRQ_ENABLE_REG);
100 struct spdif_dev_data *ctx = dev_get_drvdata(dai->dev);
102 writel(XSPDIF_SOFT_RESET_VALUE, ctx->base + XSPDIF_SOFT_RESET_REG);
110 struct spdif_dev_data *ctx = dev_get_drvdata(dai->dev);
112 clk_div = DIV_ROUND_CLOSEST(ctx->aclk, MAX_CHANNELS * AES_SAMPLE_WIDTH *
141 val = readl(ctx->base + XSPDIF_CONTROL_REG);
144 writel(val, ctx->base + XSPDIF_CONTROL_REG);
152 struct spdif_dev_data *ctx = dev_get_drvdata(dai->dev);
156 err = wait_event_interruptible_timeout(ctx->chsts_q,
157 ctx->rx_chsts_updated,
163 ctx->rx_chsts_updated = false;
173 struct spdif_dev_data *ctx = dev_get_drvdata(dai->dev);
175 val = readl(ctx->base + XSPDIF_CONTROL_REG);
181 writel(val, ctx->base + XSPDIF_CONTROL_REG);
189 writel(val, ctx->base + XSPDIF_CONTROL_REG);
242 struct spdif_dev_data *ctx;
247 ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
248 if (!ctx)
251 ctx->axi_clk = devm_clk_get(dev, "s_axi_aclk");
252 if (IS_ERR(ctx->axi_clk)) {
253 ret = PTR_ERR(ctx->axi_clk);
257 ret = clk_prepare_enable(ctx->axi_clk);
263 ctx->base = devm_platform_ioremap_resource(pdev, 0);
264 if (IS_ERR(ctx->base)) {
265 ret = PTR_ERR(ctx->base);
268 ret = of_property_read_u32(node, "xlnx,spdif-mode", &ctx->mode);
273 if (ctx->mode) {
284 0, "XLNX_SPDIF_RX", ctx);
291 init_waitqueue_head(&ctx->chsts_q);
295 ret = of_property_read_u32(node, "xlnx,aud_clk_i", &ctx->aclk);
301 dev_set_drvdata(dev, ctx);
310 writel(XSPDIF_SOFT_RESET_VALUE, ctx->base + XSPDIF_SOFT_RESET_REG);
314 clk_disable_unprepare(ctx->axi_clk);
320 struct spdif_dev_data *ctx = dev_get_drvdata(&pdev->dev);
322 clk_disable_unprepare(ctx->axi_clk);