diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-11-27 10:32:36 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-04-03 08:19:00 -0400 |
commit | 5761217abf1636b6a0979548286e15200f17c010 (patch) | |
tree | d93af797098c7c5fc435864e604e234a74c809f9 /drivers/video | |
parent | 03a0d1e81bdb519aa5881487cc5f20ffb8906c59 (diff) |
OMAPDSS: DSI: remove omap_dss_device uses
The role of struct omap_dss_device will change in the future. The exact
details of that are still a bit unclear. However, the less uses of
omap_dss_device we have, the easier the change is in the future.
This patch removes uses of omap_dss_device from dsi.c, where it can be
done easily. Mostly this means passing dsi platform device to functions,
instead of the omap_dss_device.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap2/dss/dsi.c | 68 |
1 files changed, 29 insertions, 39 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c index 9eb78455b7df..815c93047151 100644 --- a/drivers/video/omap2/dss/dsi.c +++ b/drivers/video/omap2/dss/dsi.c | |||
@@ -1199,9 +1199,8 @@ static unsigned long dsi_fclk_rate(struct platform_device *dsidev) | |||
1199 | return r; | 1199 | return r; |
1200 | } | 1200 | } |
1201 | 1201 | ||
1202 | static int dsi_set_lp_clk_divisor(struct omap_dss_device *dssdev) | 1202 | static int dsi_set_lp_clk_divisor(struct platform_device *dsidev) |
1203 | { | 1203 | { |
1204 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
1205 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 1204 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
1206 | unsigned long dsi_fclk; | 1205 | unsigned long dsi_fclk; |
1207 | unsigned lp_clk_div; | 1206 | unsigned lp_clk_div; |
@@ -3904,9 +3903,8 @@ static int dsi_compute_interleave_lp(int blank, int enter_hs, int exit_hs, | |||
3904 | return max(lp_inter, 0); | 3903 | return max(lp_inter, 0); |
3905 | } | 3904 | } |
3906 | 3905 | ||
3907 | static void dsi_config_cmd_mode_interleaving(struct omap_dss_device *dssdev) | 3906 | static void dsi_config_cmd_mode_interleaving(struct platform_device *dsidev) |
3908 | { | 3907 | { |
3909 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
3910 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 3908 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
3911 | int blanking_mode; | 3909 | int blanking_mode; |
3912 | int hfp_blanking_mode, hbp_blanking_mode, hsa_blanking_mode; | 3910 | int hfp_blanking_mode, hbp_blanking_mode, hsa_blanking_mode; |
@@ -4022,9 +4020,8 @@ static void dsi_config_cmd_mode_interleaving(struct omap_dss_device *dssdev) | |||
4022 | dsi_write_reg(dsidev, DSI_VM_TIMING6, r); | 4020 | dsi_write_reg(dsidev, DSI_VM_TIMING6, r); |
4023 | } | 4021 | } |
4024 | 4022 | ||
4025 | static int dsi_proto_config(struct omap_dss_device *dssdev) | 4023 | static int dsi_proto_config(struct platform_device *dsidev) |
4026 | { | 4024 | { |
4027 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4028 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4025 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4029 | u32 r; | 4026 | u32 r; |
4030 | int buswidth = 0; | 4027 | int buswidth = 0; |
@@ -4082,7 +4079,7 @@ static int dsi_proto_config(struct omap_dss_device *dssdev) | |||
4082 | if (dsi->mode == OMAP_DSS_DSI_VIDEO_MODE) { | 4079 | if (dsi->mode == OMAP_DSS_DSI_VIDEO_MODE) { |
4083 | dsi_config_vp_sync_events(dsidev); | 4080 | dsi_config_vp_sync_events(dsidev); |
4084 | dsi_config_blanking_modes(dsidev); | 4081 | dsi_config_blanking_modes(dsidev); |
4085 | dsi_config_cmd_mode_interleaving(dssdev); | 4082 | dsi_config_cmd_mode_interleaving(dsidev); |
4086 | } | 4083 | } |
4087 | 4084 | ||
4088 | dsi_vc_initial_config(dsidev, 0); | 4085 | dsi_vc_initial_config(dsidev, 0); |
@@ -4343,7 +4340,7 @@ int dsi_enable_video_output(struct omap_dss_device *dssdev, int channel) | |||
4343 | { | 4340 | { |
4344 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4341 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
4345 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4342 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4346 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 4343 | struct omap_overlay_manager *mgr = dsi->output.manager; |
4347 | int bpp = dsi_get_pixel_size(dsi->pix_fmt); | 4344 | int bpp = dsi_get_pixel_size(dsi->pix_fmt); |
4348 | u8 data_type; | 4345 | u8 data_type; |
4349 | u16 word_count; | 4346 | u16 word_count; |
@@ -4401,7 +4398,7 @@ void dsi_disable_video_output(struct omap_dss_device *dssdev, int channel) | |||
4401 | { | 4398 | { |
4402 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4399 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
4403 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4400 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4404 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 4401 | struct omap_overlay_manager *mgr = dsi->output.manager; |
4405 | 4402 | ||
4406 | if (dsi->mode == OMAP_DSS_DSI_VIDEO_MODE) { | 4403 | if (dsi->mode == OMAP_DSS_DSI_VIDEO_MODE) { |
4407 | dsi_if_enable(dsidev, false); | 4404 | dsi_if_enable(dsidev, false); |
@@ -4418,11 +4415,10 @@ void dsi_disable_video_output(struct omap_dss_device *dssdev, int channel) | |||
4418 | } | 4415 | } |
4419 | EXPORT_SYMBOL(dsi_disable_video_output); | 4416 | EXPORT_SYMBOL(dsi_disable_video_output); |
4420 | 4417 | ||
4421 | static void dsi_update_screen_dispc(struct omap_dss_device *dssdev) | 4418 | static void dsi_update_screen_dispc(struct platform_device *dsidev) |
4422 | { | 4419 | { |
4423 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4424 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4420 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4425 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 4421 | struct omap_overlay_manager *mgr = dsi->output.manager; |
4426 | unsigned bytespp; | 4422 | unsigned bytespp; |
4427 | unsigned bytespl; | 4423 | unsigned bytespl; |
4428 | unsigned bytespf; | 4424 | unsigned bytespf; |
@@ -4578,7 +4574,7 @@ int omap_dsi_update(struct omap_dss_device *dssdev, int channel, | |||
4578 | dsi->update_bytes = dw * dh * | 4574 | dsi->update_bytes = dw * dh * |
4579 | dsi_get_pixel_size(dsi->pix_fmt) / 8; | 4575 | dsi_get_pixel_size(dsi->pix_fmt) / 8; |
4580 | #endif | 4576 | #endif |
4581 | dsi_update_screen_dispc(dssdev); | 4577 | dsi_update_screen_dispc(dsidev); |
4582 | 4578 | ||
4583 | return 0; | 4579 | return 0; |
4584 | } | 4580 | } |
@@ -4586,9 +4582,8 @@ EXPORT_SYMBOL(omap_dsi_update); | |||
4586 | 4582 | ||
4587 | /* Display funcs */ | 4583 | /* Display funcs */ |
4588 | 4584 | ||
4589 | static int dsi_configure_dispc_clocks(struct omap_dss_device *dssdev) | 4585 | static int dsi_configure_dispc_clocks(struct platform_device *dsidev) |
4590 | { | 4586 | { |
4591 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4592 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4587 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4593 | struct dispc_clock_info dispc_cinfo; | 4588 | struct dispc_clock_info dispc_cinfo; |
4594 | int r; | 4589 | int r; |
@@ -4610,11 +4605,10 @@ static int dsi_configure_dispc_clocks(struct omap_dss_device *dssdev) | |||
4610 | return 0; | 4605 | return 0; |
4611 | } | 4606 | } |
4612 | 4607 | ||
4613 | static int dsi_display_init_dispc(struct omap_dss_device *dssdev) | 4608 | static int dsi_display_init_dispc(struct platform_device *dsidev) |
4614 | { | 4609 | { |
4615 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4616 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4610 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4617 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 4611 | struct omap_overlay_manager *mgr = dsi->output.manager; |
4618 | int r; | 4612 | int r; |
4619 | 4613 | ||
4620 | if (dsi->mode == OMAP_DSS_DSI_CMD_MODE) { | 4614 | if (dsi->mode == OMAP_DSS_DSI_CMD_MODE) { |
@@ -4652,7 +4646,7 @@ static int dsi_display_init_dispc(struct omap_dss_device *dssdev) | |||
4652 | 4646 | ||
4653 | dss_mgr_set_timings(mgr, &dsi->timings); | 4647 | dss_mgr_set_timings(mgr, &dsi->timings); |
4654 | 4648 | ||
4655 | r = dsi_configure_dispc_clocks(dssdev); | 4649 | r = dsi_configure_dispc_clocks(dsidev); |
4656 | if (r) | 4650 | if (r) |
4657 | goto err1; | 4651 | goto err1; |
4658 | 4652 | ||
@@ -4672,20 +4666,18 @@ err: | |||
4672 | return r; | 4666 | return r; |
4673 | } | 4667 | } |
4674 | 4668 | ||
4675 | static void dsi_display_uninit_dispc(struct omap_dss_device *dssdev) | 4669 | static void dsi_display_uninit_dispc(struct platform_device *dsidev) |
4676 | { | 4670 | { |
4677 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4678 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4671 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4679 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 4672 | struct omap_overlay_manager *mgr = dsi->output.manager; |
4680 | 4673 | ||
4681 | if (dsi->mode == OMAP_DSS_DSI_CMD_MODE) | 4674 | if (dsi->mode == OMAP_DSS_DSI_CMD_MODE) |
4682 | dss_mgr_unregister_framedone_handler(mgr, | 4675 | dss_mgr_unregister_framedone_handler(mgr, |
4683 | dsi_framedone_irq_callback, dsidev); | 4676 | dsi_framedone_irq_callback, dsidev); |
4684 | } | 4677 | } |
4685 | 4678 | ||
4686 | static int dsi_configure_dsi_clocks(struct omap_dss_device *dssdev) | 4679 | static int dsi_configure_dsi_clocks(struct platform_device *dsidev) |
4687 | { | 4680 | { |
4688 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4689 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4681 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4690 | struct dsi_clock_info cinfo; | 4682 | struct dsi_clock_info cinfo; |
4691 | int r; | 4683 | int r; |
@@ -4707,18 +4699,17 @@ static int dsi_configure_dsi_clocks(struct omap_dss_device *dssdev) | |||
4707 | return 0; | 4699 | return 0; |
4708 | } | 4700 | } |
4709 | 4701 | ||
4710 | static int dsi_display_init_dsi(struct omap_dss_device *dssdev) | 4702 | static int dsi_display_init_dsi(struct platform_device *dsidev) |
4711 | { | 4703 | { |
4712 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4713 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4704 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4714 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 4705 | struct omap_overlay_manager *mgr = dsi->output.manager; |
4715 | int r; | 4706 | int r; |
4716 | 4707 | ||
4717 | r = dsi_pll_init(dsidev, true, true); | 4708 | r = dsi_pll_init(dsidev, true, true); |
4718 | if (r) | 4709 | if (r) |
4719 | goto err0; | 4710 | goto err0; |
4720 | 4711 | ||
4721 | r = dsi_configure_dsi_clocks(dssdev); | 4712 | r = dsi_configure_dsi_clocks(dsidev); |
4722 | if (r) | 4713 | if (r) |
4723 | goto err1; | 4714 | goto err1; |
4724 | 4715 | ||
@@ -4734,12 +4725,12 @@ static int dsi_display_init_dsi(struct omap_dss_device *dssdev) | |||
4734 | _dsi_print_reset_status(dsidev); | 4725 | _dsi_print_reset_status(dsidev); |
4735 | 4726 | ||
4736 | dsi_proto_timings(dsidev); | 4727 | dsi_proto_timings(dsidev); |
4737 | dsi_set_lp_clk_divisor(dssdev); | 4728 | dsi_set_lp_clk_divisor(dsidev); |
4738 | 4729 | ||
4739 | if (1) | 4730 | if (1) |
4740 | _dsi_print_reset_status(dsidev); | 4731 | _dsi_print_reset_status(dsidev); |
4741 | 4732 | ||
4742 | r = dsi_proto_config(dssdev); | 4733 | r = dsi_proto_config(dsidev); |
4743 | if (r) | 4734 | if (r) |
4744 | goto err3; | 4735 | goto err3; |
4745 | 4736 | ||
@@ -4764,12 +4755,11 @@ err0: | |||
4764 | return r; | 4755 | return r; |
4765 | } | 4756 | } |
4766 | 4757 | ||
4767 | static void dsi_display_uninit_dsi(struct omap_dss_device *dssdev, | 4758 | static void dsi_display_uninit_dsi(struct platform_device *dsidev, |
4768 | bool disconnect_lanes, bool enter_ulps) | 4759 | bool disconnect_lanes, bool enter_ulps) |
4769 | { | 4760 | { |
4770 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | ||
4771 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4761 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4772 | struct omap_overlay_manager *mgr = dssdev->output->manager; | 4762 | struct omap_overlay_manager *mgr = dsi->output.manager; |
4773 | 4763 | ||
4774 | if (enter_ulps && !dsi->ulps_enabled) | 4764 | if (enter_ulps && !dsi->ulps_enabled) |
4775 | dsi_enter_ulps(dsidev); | 4765 | dsi_enter_ulps(dsidev); |
@@ -4791,7 +4781,7 @@ int omapdss_dsi_display_enable(struct omap_dss_device *dssdev) | |||
4791 | { | 4781 | { |
4792 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4782 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
4793 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4783 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
4794 | struct omap_dss_output *out = dssdev->output; | 4784 | struct omap_dss_output *out = &dsi->output; |
4795 | int r = 0; | 4785 | int r = 0; |
4796 | 4786 | ||
4797 | DSSDBG("dsi_display_enable\n"); | 4787 | DSSDBG("dsi_display_enable\n"); |
@@ -4820,11 +4810,11 @@ int omapdss_dsi_display_enable(struct omap_dss_device *dssdev) | |||
4820 | 4810 | ||
4821 | _dsi_initialize_irq(dsidev); | 4811 | _dsi_initialize_irq(dsidev); |
4822 | 4812 | ||
4823 | r = dsi_display_init_dispc(dssdev); | 4813 | r = dsi_display_init_dispc(dsidev); |
4824 | if (r) | 4814 | if (r) |
4825 | goto err_init_dispc; | 4815 | goto err_init_dispc; |
4826 | 4816 | ||
4827 | r = dsi_display_init_dsi(dssdev); | 4817 | r = dsi_display_init_dsi(dsidev); |
4828 | if (r) | 4818 | if (r) |
4829 | goto err_init_dsi; | 4819 | goto err_init_dsi; |
4830 | 4820 | ||
@@ -4833,7 +4823,7 @@ int omapdss_dsi_display_enable(struct omap_dss_device *dssdev) | |||
4833 | return 0; | 4823 | return 0; |
4834 | 4824 | ||
4835 | err_init_dsi: | 4825 | err_init_dsi: |
4836 | dsi_display_uninit_dispc(dssdev); | 4826 | dsi_display_uninit_dispc(dsidev); |
4837 | err_init_dispc: | 4827 | err_init_dispc: |
4838 | dsi_enable_pll_clock(dsidev, 0); | 4828 | dsi_enable_pll_clock(dsidev, 0); |
4839 | dsi_runtime_put(dsidev); | 4829 | dsi_runtime_put(dsidev); |
@@ -4863,9 +4853,9 @@ void omapdss_dsi_display_disable(struct omap_dss_device *dssdev, | |||
4863 | dsi_sync_vc(dsidev, 2); | 4853 | dsi_sync_vc(dsidev, 2); |
4864 | dsi_sync_vc(dsidev, 3); | 4854 | dsi_sync_vc(dsidev, 3); |
4865 | 4855 | ||
4866 | dsi_display_uninit_dispc(dssdev); | 4856 | dsi_display_uninit_dispc(dsidev); |
4867 | 4857 | ||
4868 | dsi_display_uninit_dsi(dssdev, disconnect_lanes, enter_ulps); | 4858 | dsi_display_uninit_dsi(dsidev, disconnect_lanes, enter_ulps); |
4869 | 4859 | ||
4870 | dsi_runtime_put(dsidev); | 4860 | dsi_runtime_put(dsidev); |
4871 | dsi_enable_pll_clock(dsidev, 0); | 4861 | dsi_enable_pll_clock(dsidev, 0); |