Lines Matching refs:dss

105 } dss;  variable
125 __raw_writel(val, dss.base + idx.idx); in dss_write_reg()
130 return __raw_readl(dss.base + idx.idx); in dss_read_reg()
134 dss.ctx[(DSS_##reg).idx / sizeof(u32)] = dss_read_reg(DSS_##reg)
136 dss_write_reg(DSS_##reg, dss.ctx[(DSS_##reg).idx / sizeof(u32)])
150 dss.ctx_valid = true; in dss_save_context()
159 if (!dss.ctx_valid) in dss_restore_context()
181 if (!dss.syscon_pll_ctrl) in dss_ctrl_pll_enable()
201 regmap_update_bits(dss.syscon_pll_ctrl, dss.syscon_pll_ctrl_offset, in dss_ctrl_pll_enable()
210 if (!dss.syscon_pll_ctrl) in dss_ctrl_pll_set_control_mux()
265 regmap_update_bits(dss.syscon_pll_ctrl, dss.syscon_pll_ctrl_offset, in dss_ctrl_pll_set_control_mux()
373 fclk_rate = clk_get_rate(dss.dss_clk); in dss_dump_clocks()
429 dss.dispc_clk_source = clk_src; in dss_select_dispc_clk_source()
457 dss.dsi_clk_source[dsi_module] = clk_src; in dss_select_dsi_clk_source()
494 dss.lcd_clk_source[ix] = clk_src; in dss_select_lcd_clk_source()
499 return dss.dispc_clk_source; in dss_get_dispc_clk_source()
504 return dss.dsi_clk_source[dsi_module]; in dss_get_dsi_clk_source()
512 return dss.lcd_clk_source[ix]; in dss_get_lcd_clk_source()
516 return dss.dispc_clk_source; in dss_get_lcd_clk_source()
532 if (dss.parent_clk == NULL) { in dss_div_calc()
539 fck = clk_round_rate(dss.dss_clk, fck); in dss_div_calc()
544 fckd_hw_max = dss.feat->fck_div_max; in dss_div_calc()
546 m = dss.feat->dss_fck_multiplier; in dss_div_calc()
547 prate = clk_get_rate(dss.parent_clk); in dss_div_calc()
570 r = clk_set_rate(dss.dss_clk, rate); in dss_set_fck_rate()
574 dss.dss_clk_rate = clk_get_rate(dss.dss_clk); in dss_set_fck_rate()
576 WARN_ONCE(dss.dss_clk_rate != rate, in dss_set_fck_rate()
577 "clk rate mismatch: %lu != %lu", dss.dss_clk_rate, in dss_set_fck_rate()
585 return dss.dss_clk_rate; in dss_get_dispc_clk_rate()
597 if (dss.parent_clk == NULL) { in dss_setup_default_clock()
598 fck = clk_round_rate(dss.dss_clk, max_dss_fck); in dss_setup_default_clock()
600 prate = clk_get_rate(dss.parent_clk); in dss_setup_default_clock()
602 fck_div = DIV_ROUND_UP(prate * dss.feat->dss_fck_multiplier, in dss_setup_default_clock()
604 fck = DIV_ROUND_UP(prate, fck_div) * dss.feat->dss_fck_multiplier; in dss_setup_default_clock()
738 return dss.feat->dpi_select_source(port, channel); in dss_dpi_select_source()
745 clk = devm_clk_get(&dss.pdev->dev, "fck"); in dss_get_clocks()
751 dss.dss_clk = clk; in dss_get_clocks()
753 if (dss.feat->parent_clk_name) { in dss_get_clocks()
754 clk = clk_get(NULL, dss.feat->parent_clk_name); in dss_get_clocks()
756 DSSERR("Failed to get %s\n", dss.feat->parent_clk_name); in dss_get_clocks()
763 dss.parent_clk = clk; in dss_get_clocks()
770 if (dss.parent_clk) in dss_put_clocks()
771 clk_put(dss.parent_clk); in dss_put_clocks()
780 r = pm_runtime_get_sync(&dss.pdev->dev); in dss_runtime_get()
791 r = pm_runtime_put_sync(&dss.pdev->dev); in dss_runtime_put()
939 dss.feat = dst; in dss_init_features()
957 if (dss.feat->num_ports == 0) in dss_init_ports()
968 if (reg >= dss.feat->num_ports) in dss_init_ports()
971 port_type = dss.feat->ports[reg]; in dss_init_ports()
1000 if (dss.feat->num_ports == 0) in dss_uninit_ports()
1012 if (reg >= dss.feat->num_ports) in dss_uninit_ports()
1015 port_type = dss.feat->ports[reg]; in dss_uninit_ports()
1040 dss.syscon_pll_ctrl = syscon_regmap_lookup_by_phandle(np, in dss_video_pll_probe()
1042 if (IS_ERR(dss.syscon_pll_ctrl)) { in dss_video_pll_probe()
1045 return PTR_ERR(dss.syscon_pll_ctrl); in dss_video_pll_probe()
1049 &dss.syscon_pll_ctrl_offset)) { in dss_video_pll_probe()
1075 dss.video1_pll = dss_video_pll_init(pdev, 0, pll_regulator); in dss_video_pll_probe()
1076 if (IS_ERR(dss.video1_pll)) in dss_video_pll_probe()
1077 return PTR_ERR(dss.video1_pll); in dss_video_pll_probe()
1081 dss.video2_pll = dss_video_pll_init(pdev, 1, pll_regulator); in dss_video_pll_probe()
1082 if (IS_ERR(dss.video2_pll)) { in dss_video_pll_probe()
1083 dss_video_pll_uninit(dss.video1_pll); in dss_video_pll_probe()
1084 return PTR_ERR(dss.video2_pll); in dss_video_pll_probe()
1099 dss.pdev = pdev; in dss_bind()
1101 r = dss_init_features(dss.pdev); in dss_bind()
1105 dss_mem = platform_get_resource(dss.pdev, IORESOURCE_MEM, 0); in dss_bind()
1111 dss.base = devm_ioremap(&pdev->dev, dss_mem->start, in dss_bind()
1113 if (!dss.base) { in dss_bind()
1140 dss.dss_clk_rate = clk_get_rate(dss.dss_clk); in dss_bind()
1152 dss.dsi_clk_source[0] = OMAP_DSS_CLK_SRC_FCK; in dss_bind()
1153 dss.dsi_clk_source[1] = OMAP_DSS_CLK_SRC_FCK; in dss_bind()
1154 dss.dispc_clk_source = OMAP_DSS_CLK_SRC_FCK; in dss_bind()
1155 dss.lcd_clk_source[0] = OMAP_DSS_CLK_SRC_FCK; in dss_bind()
1156 dss.lcd_clk_source[1] = OMAP_DSS_CLK_SRC_FCK; in dss_bind()
1181 if (dss.video1_pll) in dss_bind()
1182 dss_video_pll_uninit(dss.video1_pll); in dss_bind()
1184 if (dss.video2_pll) in dss_bind()
1185 dss_video_pll_uninit(dss.video2_pll); in dss_bind()
1200 if (dss.video1_pll) in dss_unbind()
1201 dss_video_pll_uninit(dss.video1_pll); in dss_unbind()
1203 if (dss.video2_pll) in dss_unbind()
1204 dss_video_pll_uninit(dss.video2_pll); in dss_unbind()