@@ -1406,7 +1406,7 @@ static void dsi_pll_disable(struct dss_pll *pll)
1406
1406
1407
1407
static int dsi_dump_dsi_clocks (struct seq_file * s , void * p )
1408
1408
{
1409
- struct dsi_data * dsi = p ;
1409
+ struct dsi_data * dsi = s -> private ;
1410
1410
struct dss_pll_clock_info * cinfo = & dsi -> pll .cinfo ;
1411
1411
enum dss_clk_source dispc_clk_src , dsi_clk_src ;
1412
1412
int dsi_module = dsi -> module_id ;
@@ -1467,7 +1467,7 @@ static int dsi_dump_dsi_clocks(struct seq_file *s, void *p)
1467
1467
#ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS
1468
1468
static int dsi_dump_dsi_irqs (struct seq_file * s , void * p )
1469
1469
{
1470
- struct dsi_data * dsi = p ;
1470
+ struct dsi_data * dsi = s -> private ;
1471
1471
unsigned long flags ;
1472
1472
struct dsi_irq_stats stats ;
1473
1473
@@ -1558,7 +1558,7 @@ static int dsi_dump_dsi_irqs(struct seq_file *s, void *p)
1558
1558
1559
1559
static int dsi_dump_dsi_regs (struct seq_file * s , void * p )
1560
1560
{
1561
- struct dsi_data * dsi = p ;
1561
+ struct dsi_data * dsi = s -> private ;
1562
1562
1563
1563
if (dsi_runtime_get (dsi ))
1564
1564
return 0 ;
@@ -4751,6 +4751,17 @@ static int dsi_set_config(struct omap_dss_device *dssdev,
4751
4751
dsi -> vm .flags |= DISPLAY_FLAGS_HSYNC_HIGH ;
4752
4752
dsi -> vm .flags &= ~DISPLAY_FLAGS_VSYNC_LOW ;
4753
4753
dsi -> vm .flags |= DISPLAY_FLAGS_VSYNC_HIGH ;
4754
+ /*
4755
+ * HACK: These flags should be handled through the omap_dss_device bus
4756
+ * flags, but this will only be possible when the DSI encoder will be
4757
+ * converted to the omapdrm-managed encoder model.
4758
+ */
4759
+ dsi -> vm .flags &= ~DISPLAY_FLAGS_PIXDATA_NEGEDGE ;
4760
+ dsi -> vm .flags |= DISPLAY_FLAGS_PIXDATA_POSEDGE ;
4761
+ dsi -> vm .flags &= ~DISPLAY_FLAGS_DE_LOW ;
4762
+ dsi -> vm .flags |= DISPLAY_FLAGS_DE_HIGH ;
4763
+ dsi -> vm .flags &= ~DISPLAY_FLAGS_SYNC_POSEDGE ;
4764
+ dsi -> vm .flags |= DISPLAY_FLAGS_SYNC_NEGEDGE ;
4754
4765
4755
4766
dss_mgr_set_timings (& dsi -> output , & dsi -> vm );
4756
4767
@@ -5083,15 +5094,15 @@ static int dsi_bind(struct device *dev, struct device *master, void *data)
5083
5094
5084
5095
snprintf (name , sizeof (name ), "dsi%u_regs" , dsi -> module_id + 1 );
5085
5096
dsi -> debugfs .regs = dss_debugfs_create_file (dss , name ,
5086
- dsi_dump_dsi_regs , & dsi );
5097
+ dsi_dump_dsi_regs , dsi );
5087
5098
#ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS
5088
5099
snprintf (name , sizeof (name ), "dsi%u_irqs" , dsi -> module_id + 1 );
5089
5100
dsi -> debugfs .irqs = dss_debugfs_create_file (dss , name ,
5090
- dsi_dump_dsi_irqs , & dsi );
5101
+ dsi_dump_dsi_irqs , dsi );
5091
5102
#endif
5092
5103
snprintf (name , sizeof (name ), "dsi%u_clks" , dsi -> module_id + 1 );
5093
5104
dsi -> debugfs .clks = dss_debugfs_create_file (dss , name ,
5094
- dsi_dump_dsi_clocks , & dsi );
5105
+ dsi_dump_dsi_clocks , dsi );
5095
5106
5096
5107
return 0 ;
5097
5108
}
@@ -5104,8 +5115,6 @@ static void dsi_unbind(struct device *dev, struct device *master, void *data)
5104
5115
dss_debugfs_remove_file (dsi -> debugfs .irqs );
5105
5116
dss_debugfs_remove_file (dsi -> debugfs .regs );
5106
5117
5107
- of_platform_depopulate (dev );
5108
-
5109
5118
WARN_ON (dsi -> scp_clk_refcount > 0 );
5110
5119
5111
5120
dss_pll_unregister (& dsi -> pll );
@@ -5457,6 +5466,8 @@ static int dsi_remove(struct platform_device *pdev)
5457
5466
5458
5467
dsi_uninit_output (dsi );
5459
5468
5469
+ of_platform_depopulate (& pdev -> dev );
5470
+
5460
5471
pm_runtime_disable (& pdev -> dev );
5461
5472
5462
5473
if (dsi -> vdds_dsi_reg != NULL && dsi -> vdds_dsi_enabled ) {
0 commit comments