diff options
| -rw-r--r-- | drivers/video/omap2/dss/dsi.c | 271 | ||||
| -rw-r--r-- | include/video/omapdss.h | 51 |
2 files changed, 35 insertions, 287 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c index 99a043b08f0d..3daaf7ea4281 100644 --- a/drivers/video/omap2/dss/dsi.c +++ b/drivers/video/omap2/dss/dsi.c | |||
| @@ -205,6 +205,8 @@ static int dsi_display_init_dispc(struct platform_device *dsidev, | |||
| 205 | static void dsi_display_uninit_dispc(struct platform_device *dsidev, | 205 | static void dsi_display_uninit_dispc(struct platform_device *dsidev, |
| 206 | struct omap_overlay_manager *mgr); | 206 | struct omap_overlay_manager *mgr); |
| 207 | 207 | ||
| 208 | static int dsi_vc_send_null(struct omap_dss_device *dssdev, int channel); | ||
| 209 | |||
| 208 | #define DSI_MAX_NR_ISRS 2 | 210 | #define DSI_MAX_NR_ISRS 2 |
| 209 | #define DSI_MAX_NR_LANES 5 | 211 | #define DSI_MAX_NR_LANES 5 |
| 210 | 212 | ||
| @@ -383,16 +385,7 @@ static inline struct dsi_data *dsi_get_dsidrv_data(struct platform_device *dside | |||
| 383 | 385 | ||
| 384 | static inline struct platform_device *dsi_get_dsidev_from_dssdev(struct omap_dss_device *dssdev) | 386 | static inline struct platform_device *dsi_get_dsidev_from_dssdev(struct omap_dss_device *dssdev) |
| 385 | { | 387 | { |
| 386 | /* HACK: dssdev can be either the panel device, when using old API, or | 388 | return to_platform_device(dssdev->dev); |
| 387 | * the dsi device itself, when using the new API. So we solve this for | ||
| 388 | * now by checking the dssdev->id. This will be removed when the old API | ||
| 389 | * is removed. | ||
| 390 | */ | ||
| 391 | if (dssdev->id == OMAP_DSS_OUTPUT_DSI1 || | ||
| 392 | dssdev->id == OMAP_DSS_OUTPUT_DSI2) | ||
| 393 | return to_platform_device(dssdev->dev); | ||
| 394 | |||
| 395 | return to_platform_device(dssdev->output->dev); | ||
| 396 | } | 389 | } |
| 397 | 390 | ||
| 398 | struct platform_device *dsi_get_dsidev_from_id(int module) | 391 | struct platform_device *dsi_get_dsidev_from_id(int module) |
| @@ -432,23 +425,21 @@ static inline u32 dsi_read_reg(struct platform_device *dsidev, | |||
| 432 | return __raw_readl(dsi->base + idx.idx); | 425 | return __raw_readl(dsi->base + idx.idx); |
| 433 | } | 426 | } |
| 434 | 427 | ||
| 435 | void dsi_bus_lock(struct omap_dss_device *dssdev) | 428 | static void dsi_bus_lock(struct omap_dss_device *dssdev) |
| 436 | { | 429 | { |
| 437 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 430 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 438 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 431 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| 439 | 432 | ||
| 440 | down(&dsi->bus_lock); | 433 | down(&dsi->bus_lock); |
| 441 | } | 434 | } |
| 442 | EXPORT_SYMBOL(dsi_bus_lock); | ||
| 443 | 435 | ||
| 444 | void dsi_bus_unlock(struct omap_dss_device *dssdev) | 436 | static void dsi_bus_unlock(struct omap_dss_device *dssdev) |
| 445 | { | 437 | { |
| 446 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 438 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 447 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 439 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| 448 | 440 | ||
| 449 | up(&dsi->bus_lock); | 441 | up(&dsi->bus_lock); |
| 450 | } | 442 | } |
| 451 | EXPORT_SYMBOL(dsi_bus_unlock); | ||
| 452 | 443 | ||
| 453 | static bool dsi_bus_is_locked(struct platform_device *dsidev) | 444 | static bool dsi_bus_is_locked(struct platform_device *dsidev) |
| 454 | { | 445 | { |
| @@ -2713,7 +2704,7 @@ static int dsi_vc_config_source(struct platform_device *dsidev, int channel, | |||
| 2713 | return 0; | 2704 | return 0; |
| 2714 | } | 2705 | } |
| 2715 | 2706 | ||
| 2716 | void omapdss_dsi_vc_enable_hs(struct omap_dss_device *dssdev, int channel, | 2707 | static void dsi_vc_enable_hs(struct omap_dss_device *dssdev, int channel, |
| 2717 | bool enable) | 2708 | bool enable) |
| 2718 | { | 2709 | { |
| 2719 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 2710 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -2737,7 +2728,6 @@ void omapdss_dsi_vc_enable_hs(struct omap_dss_device *dssdev, int channel, | |||
| 2737 | if (dsi->vm_timings.ddr_clk_always_on && enable) | 2728 | if (dsi->vm_timings.ddr_clk_always_on && enable) |
| 2738 | dsi_vc_send_null(dssdev, channel); | 2729 | dsi_vc_send_null(dssdev, channel); |
| 2739 | } | 2730 | } |
| 2740 | EXPORT_SYMBOL(omapdss_dsi_vc_enable_hs); | ||
| 2741 | 2731 | ||
| 2742 | static void dsi_vc_flush_long_data(struct platform_device *dsidev, int channel) | 2732 | static void dsi_vc_flush_long_data(struct platform_device *dsidev, int channel) |
| 2743 | { | 2733 | { |
| @@ -2842,7 +2832,7 @@ static int dsi_vc_send_bta(struct platform_device *dsidev, int channel) | |||
| 2842 | return 0; | 2832 | return 0; |
| 2843 | } | 2833 | } |
| 2844 | 2834 | ||
| 2845 | int dsi_vc_send_bta_sync(struct omap_dss_device *dssdev, int channel) | 2835 | static int dsi_vc_send_bta_sync(struct omap_dss_device *dssdev, int channel) |
| 2846 | { | 2836 | { |
| 2847 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 2837 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 2848 | DECLARE_COMPLETION_ONSTACK(completion); | 2838 | DECLARE_COMPLETION_ONSTACK(completion); |
| @@ -2885,7 +2875,6 @@ err1: | |||
| 2885 | err0: | 2875 | err0: |
| 2886 | return r; | 2876 | return r; |
| 2887 | } | 2877 | } |
| 2888 | EXPORT_SYMBOL(dsi_vc_send_bta_sync); | ||
| 2889 | 2878 | ||
| 2890 | static inline void dsi_vc_write_long_header(struct platform_device *dsidev, | 2879 | static inline void dsi_vc_write_long_header(struct platform_device *dsidev, |
| 2891 | int channel, u8 data_type, u16 len, u8 ecc) | 2880 | int channel, u8 data_type, u16 len, u8 ecc) |
| @@ -3011,14 +3000,13 @@ static int dsi_vc_send_short(struct platform_device *dsidev, int channel, | |||
| 3011 | return 0; | 3000 | return 0; |
| 3012 | } | 3001 | } |
| 3013 | 3002 | ||
| 3014 | int dsi_vc_send_null(struct omap_dss_device *dssdev, int channel) | 3003 | static int dsi_vc_send_null(struct omap_dss_device *dssdev, int channel) |
| 3015 | { | 3004 | { |
| 3016 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 3005 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 3017 | 3006 | ||
| 3018 | return dsi_vc_send_long(dsidev, channel, MIPI_DSI_NULL_PACKET, NULL, | 3007 | return dsi_vc_send_long(dsidev, channel, MIPI_DSI_NULL_PACKET, NULL, |
| 3019 | 0, 0); | 3008 | 0, 0); |
| 3020 | } | 3009 | } |
| 3021 | EXPORT_SYMBOL(dsi_vc_send_null); | ||
| 3022 | 3010 | ||
| 3023 | static int dsi_vc_write_nosync_common(struct platform_device *dsidev, | 3011 | static int dsi_vc_write_nosync_common(struct platform_device *dsidev, |
| 3024 | int channel, u8 *data, int len, enum dss_dsi_content_type type) | 3012 | int channel, u8 *data, int len, enum dss_dsi_content_type type) |
| @@ -3050,7 +3038,7 @@ static int dsi_vc_write_nosync_common(struct platform_device *dsidev, | |||
| 3050 | return r; | 3038 | return r; |
| 3051 | } | 3039 | } |
| 3052 | 3040 | ||
| 3053 | int dsi_vc_dcs_write_nosync(struct omap_dss_device *dssdev, int channel, | 3041 | static int dsi_vc_dcs_write_nosync(struct omap_dss_device *dssdev, int channel, |
| 3054 | u8 *data, int len) | 3042 | u8 *data, int len) |
| 3055 | { | 3043 | { |
| 3056 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 3044 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -3058,9 +3046,8 @@ int dsi_vc_dcs_write_nosync(struct omap_dss_device *dssdev, int channel, | |||
| 3058 | return dsi_vc_write_nosync_common(dsidev, channel, data, len, | 3046 | return dsi_vc_write_nosync_common(dsidev, channel, data, len, |
| 3059 | DSS_DSI_CONTENT_DCS); | 3047 | DSS_DSI_CONTENT_DCS); |
| 3060 | } | 3048 | } |
| 3061 | EXPORT_SYMBOL(dsi_vc_dcs_write_nosync); | ||
| 3062 | 3049 | ||
| 3063 | int dsi_vc_generic_write_nosync(struct omap_dss_device *dssdev, int channel, | 3050 | static int dsi_vc_generic_write_nosync(struct omap_dss_device *dssdev, int channel, |
| 3064 | u8 *data, int len) | 3051 | u8 *data, int len) |
| 3065 | { | 3052 | { |
| 3066 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 3053 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -3068,7 +3055,6 @@ int dsi_vc_generic_write_nosync(struct omap_dss_device *dssdev, int channel, | |||
| 3068 | return dsi_vc_write_nosync_common(dsidev, channel, data, len, | 3055 | return dsi_vc_write_nosync_common(dsidev, channel, data, len, |
| 3069 | DSS_DSI_CONTENT_GENERIC); | 3056 | DSS_DSI_CONTENT_GENERIC); |
| 3070 | } | 3057 | } |
| 3071 | EXPORT_SYMBOL(dsi_vc_generic_write_nosync); | ||
| 3072 | 3058 | ||
| 3073 | static int dsi_vc_write_common(struct omap_dss_device *dssdev, int channel, | 3059 | static int dsi_vc_write_common(struct omap_dss_device *dssdev, int channel, |
| 3074 | u8 *data, int len, enum dss_dsi_content_type type) | 3060 | u8 *data, int len, enum dss_dsi_content_type type) |
| @@ -3099,60 +3085,19 @@ err: | |||
| 3099 | return r; | 3085 | return r; |
| 3100 | } | 3086 | } |
| 3101 | 3087 | ||
| 3102 | int dsi_vc_dcs_write(struct omap_dss_device *dssdev, int channel, u8 *data, | 3088 | static int dsi_vc_dcs_write(struct omap_dss_device *dssdev, int channel, u8 *data, |
| 3103 | int len) | 3089 | int len) |
| 3104 | { | 3090 | { |
| 3105 | return dsi_vc_write_common(dssdev, channel, data, len, | 3091 | return dsi_vc_write_common(dssdev, channel, data, len, |
| 3106 | DSS_DSI_CONTENT_DCS); | 3092 | DSS_DSI_CONTENT_DCS); |
| 3107 | } | 3093 | } |
| 3108 | EXPORT_SYMBOL(dsi_vc_dcs_write); | ||
| 3109 | 3094 | ||
| 3110 | int dsi_vc_generic_write(struct omap_dss_device *dssdev, int channel, u8 *data, | 3095 | static int dsi_vc_generic_write(struct omap_dss_device *dssdev, int channel, u8 *data, |
| 3111 | int len) | 3096 | int len) |
| 3112 | { | 3097 | { |
| 3113 | return dsi_vc_write_common(dssdev, channel, data, len, | 3098 | return dsi_vc_write_common(dssdev, channel, data, len, |
| 3114 | DSS_DSI_CONTENT_GENERIC); | 3099 | DSS_DSI_CONTENT_GENERIC); |
| 3115 | } | 3100 | } |
| 3116 | EXPORT_SYMBOL(dsi_vc_generic_write); | ||
| 3117 | |||
| 3118 | int dsi_vc_dcs_write_0(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd) | ||
| 3119 | { | ||
| 3120 | return dsi_vc_dcs_write(dssdev, channel, &dcs_cmd, 1); | ||
| 3121 | } | ||
| 3122 | EXPORT_SYMBOL(dsi_vc_dcs_write_0); | ||
| 3123 | |||
| 3124 | int dsi_vc_generic_write_0(struct omap_dss_device *dssdev, int channel) | ||
| 3125 | { | ||
| 3126 | return dsi_vc_generic_write(dssdev, channel, NULL, 0); | ||
| 3127 | } | ||
| 3128 | EXPORT_SYMBOL(dsi_vc_generic_write_0); | ||
| 3129 | |||
| 3130 | int dsi_vc_dcs_write_1(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, | ||
| 3131 | u8 param) | ||
| 3132 | { | ||
| 3133 | u8 buf[2]; | ||
| 3134 | buf[0] = dcs_cmd; | ||
| 3135 | buf[1] = param; | ||
| 3136 | return dsi_vc_dcs_write(dssdev, channel, buf, 2); | ||
| 3137 | } | ||
| 3138 | EXPORT_SYMBOL(dsi_vc_dcs_write_1); | ||
| 3139 | |||
| 3140 | int dsi_vc_generic_write_1(struct omap_dss_device *dssdev, int channel, | ||
| 3141 | u8 param) | ||
| 3142 | { | ||
| 3143 | return dsi_vc_generic_write(dssdev, channel, ¶m, 1); | ||
| 3144 | } | ||
| 3145 | EXPORT_SYMBOL(dsi_vc_generic_write_1); | ||
| 3146 | |||
| 3147 | int dsi_vc_generic_write_2(struct omap_dss_device *dssdev, int channel, | ||
| 3148 | u8 param1, u8 param2) | ||
| 3149 | { | ||
| 3150 | u8 buf[2]; | ||
| 3151 | buf[0] = param1; | ||
| 3152 | buf[1] = param2; | ||
| 3153 | return dsi_vc_generic_write(dssdev, channel, buf, 2); | ||
| 3154 | } | ||
| 3155 | EXPORT_SYMBOL(dsi_vc_generic_write_2); | ||
| 3156 | 3101 | ||
| 3157 | static int dsi_vc_dcs_send_read_request(struct platform_device *dsidev, | 3102 | static int dsi_vc_dcs_send_read_request(struct platform_device *dsidev, |
| 3158 | int channel, u8 dcs_cmd) | 3103 | int channel, u8 dcs_cmd) |
| @@ -3319,7 +3264,7 @@ err: | |||
| 3319 | return r; | 3264 | return r; |
| 3320 | } | 3265 | } |
| 3321 | 3266 | ||
| 3322 | int dsi_vc_dcs_read(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, | 3267 | static int dsi_vc_dcs_read(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, |
| 3323 | u8 *buf, int buflen) | 3268 | u8 *buf, int buflen) |
| 3324 | { | 3269 | { |
| 3325 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 3270 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -3348,7 +3293,6 @@ err: | |||
| 3348 | DSSERR("dsi_vc_dcs_read(ch %d, cmd 0x%02x) failed\n", channel, dcs_cmd); | 3293 | DSSERR("dsi_vc_dcs_read(ch %d, cmd 0x%02x) failed\n", channel, dcs_cmd); |
| 3349 | return r; | 3294 | return r; |
| 3350 | } | 3295 | } |
| 3351 | EXPORT_SYMBOL(dsi_vc_dcs_read); | ||
| 3352 | 3296 | ||
| 3353 | static int dsi_vc_generic_read(struct omap_dss_device *dssdev, int channel, | 3297 | static int dsi_vc_generic_read(struct omap_dss_device *dssdev, int channel, |
| 3354 | u8 *reqdata, int reqlen, u8 *buf, int buflen) | 3298 | u8 *reqdata, int reqlen, u8 *buf, int buflen) |
| @@ -3377,56 +3321,7 @@ static int dsi_vc_generic_read(struct omap_dss_device *dssdev, int channel, | |||
| 3377 | return 0; | 3321 | return 0; |
| 3378 | } | 3322 | } |
| 3379 | 3323 | ||
| 3380 | int dsi_vc_generic_read_0(struct omap_dss_device *dssdev, int channel, u8 *buf, | 3324 | static int dsi_vc_set_max_rx_packet_size(struct omap_dss_device *dssdev, int channel, |
| 3381 | int buflen) | ||
| 3382 | { | ||
| 3383 | int r; | ||
| 3384 | |||
| 3385 | r = dsi_vc_generic_read(dssdev, channel, NULL, 0, buf, buflen); | ||
| 3386 | if (r) { | ||
| 3387 | DSSERR("dsi_vc_generic_read_0(ch %d) failed\n", channel); | ||
| 3388 | return r; | ||
| 3389 | } | ||
| 3390 | |||
| 3391 | return 0; | ||
| 3392 | } | ||
| 3393 | EXPORT_SYMBOL(dsi_vc_generic_read_0); | ||
| 3394 | |||
| 3395 | int dsi_vc_generic_read_1(struct omap_dss_device *dssdev, int channel, u8 param, | ||
| 3396 | u8 *buf, int buflen) | ||
| 3397 | { | ||
| 3398 | int r; | ||
| 3399 | |||
| 3400 | r = dsi_vc_generic_read(dssdev, channel, ¶m, 1, buf, buflen); | ||
| 3401 | if (r) { | ||
| 3402 | DSSERR("dsi_vc_generic_read_1(ch %d) failed\n", channel); | ||
| 3403 | return r; | ||
| 3404 | } | ||
| 3405 | |||
| 3406 | return 0; | ||
| 3407 | } | ||
| 3408 | EXPORT_SYMBOL(dsi_vc_generic_read_1); | ||
| 3409 | |||
| 3410 | int dsi_vc_generic_read_2(struct omap_dss_device *dssdev, int channel, | ||
| 3411 | u8 param1, u8 param2, u8 *buf, int buflen) | ||
| 3412 | { | ||
| 3413 | int r; | ||
| 3414 | u8 reqdata[2]; | ||
| 3415 | |||
| 3416 | reqdata[0] = param1; | ||
| 3417 | reqdata[1] = param2; | ||
| 3418 | |||
| 3419 | r = dsi_vc_generic_read(dssdev, channel, reqdata, 2, buf, buflen); | ||
| 3420 | if (r) { | ||
| 3421 | DSSERR("dsi_vc_generic_read_2(ch %d) failed\n", channel); | ||
| 3422 | return r; | ||
| 3423 | } | ||
| 3424 | |||
| 3425 | return 0; | ||
| 3426 | } | ||
| 3427 | EXPORT_SYMBOL(dsi_vc_generic_read_2); | ||
| 3428 | |||
| 3429 | int dsi_vc_set_max_rx_packet_size(struct omap_dss_device *dssdev, int channel, | ||
| 3430 | u16 len) | 3325 | u16 len) |
| 3431 | { | 3326 | { |
| 3432 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 3327 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -3434,7 +3329,6 @@ int dsi_vc_set_max_rx_packet_size(struct omap_dss_device *dssdev, int channel, | |||
| 3434 | return dsi_vc_send_short(dsidev, channel, | 3329 | return dsi_vc_send_short(dsidev, channel, |
| 3435 | MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE, len, 0); | 3330 | MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE, len, 0); |
| 3436 | } | 3331 | } |
| 3437 | EXPORT_SYMBOL(dsi_vc_set_max_rx_packet_size); | ||
| 3438 | 3332 | ||
| 3439 | static int dsi_enter_ulps(struct platform_device *dsidev) | 3333 | static int dsi_enter_ulps(struct platform_device *dsidev) |
| 3440 | { | 3334 | { |
| @@ -4068,7 +3962,7 @@ static void dsi_proto_timings(struct platform_device *dsidev) | |||
| 4068 | } | 3962 | } |
| 4069 | } | 3963 | } |
| 4070 | 3964 | ||
| 4071 | int omapdss_dsi_configure_pins(struct omap_dss_device *dssdev, | 3965 | static int dsi_configure_pins(struct omap_dss_device *dssdev, |
| 4072 | const struct omap_dsi_pin_config *pin_cfg) | 3966 | const struct omap_dsi_pin_config *pin_cfg) |
| 4073 | { | 3967 | { |
| 4074 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 3968 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -4134,9 +4028,8 @@ int omapdss_dsi_configure_pins(struct omap_dss_device *dssdev, | |||
| 4134 | 4028 | ||
| 4135 | return 0; | 4029 | return 0; |
| 4136 | } | 4030 | } |
| 4137 | EXPORT_SYMBOL(omapdss_dsi_configure_pins); | ||
| 4138 | 4031 | ||
| 4139 | int dsi_enable_video_output(struct omap_dss_device *dssdev, int channel) | 4032 | static int dsi_enable_video_output(struct omap_dss_device *dssdev, int channel) |
| 4140 | { | 4033 | { |
| 4141 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4034 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 4142 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4035 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| @@ -4206,9 +4099,8 @@ err_pix_fmt: | |||
| 4206 | err_init_dispc: | 4099 | err_init_dispc: |
| 4207 | return r; | 4100 | return r; |
| 4208 | } | 4101 | } |
| 4209 | EXPORT_SYMBOL(dsi_enable_video_output); | ||
| 4210 | 4102 | ||
| 4211 | void dsi_disable_video_output(struct omap_dss_device *dssdev, int channel) | 4103 | static void dsi_disable_video_output(struct omap_dss_device *dssdev, int channel) |
| 4212 | { | 4104 | { |
| 4213 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4105 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 4214 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4106 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| @@ -4229,7 +4121,6 @@ void dsi_disable_video_output(struct omap_dss_device *dssdev, int channel) | |||
| 4229 | 4121 | ||
| 4230 | dsi_display_uninit_dispc(dsidev, mgr); | 4122 | dsi_display_uninit_dispc(dsidev, mgr); |
| 4231 | } | 4123 | } |
| 4232 | EXPORT_SYMBOL(dsi_disable_video_output); | ||
| 4233 | 4124 | ||
| 4234 | static void dsi_update_screen_dispc(struct platform_device *dsidev) | 4125 | static void dsi_update_screen_dispc(struct platform_device *dsidev) |
| 4235 | { | 4126 | { |
| @@ -4369,7 +4260,7 @@ static void dsi_framedone_irq_callback(void *data) | |||
| 4369 | dsi_handle_framedone(dsidev, 0); | 4260 | dsi_handle_framedone(dsidev, 0); |
| 4370 | } | 4261 | } |
| 4371 | 4262 | ||
| 4372 | int omap_dsi_update(struct omap_dss_device *dssdev, int channel, | 4263 | static int dsi_update(struct omap_dss_device *dssdev, int channel, |
| 4373 | void (*callback)(int, void *), void *data) | 4264 | void (*callback)(int, void *), void *data) |
| 4374 | { | 4265 | { |
| 4375 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4266 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -4394,7 +4285,6 @@ int omap_dsi_update(struct omap_dss_device *dssdev, int channel, | |||
| 4394 | 4285 | ||
| 4395 | return 0; | 4286 | return 0; |
| 4396 | } | 4287 | } |
| 4397 | EXPORT_SYMBOL(omap_dsi_update); | ||
| 4398 | 4288 | ||
| 4399 | /* Display funcs */ | 4289 | /* Display funcs */ |
| 4400 | 4290 | ||
| @@ -4589,7 +4479,7 @@ static void dsi_display_uninit_dsi(struct platform_device *dsidev, | |||
| 4589 | dsi_pll_uninit(dsidev, disconnect_lanes); | 4479 | dsi_pll_uninit(dsidev, disconnect_lanes); |
| 4590 | } | 4480 | } |
| 4591 | 4481 | ||
| 4592 | int omapdss_dsi_display_enable(struct omap_dss_device *dssdev) | 4482 | static int dsi_display_enable(struct omap_dss_device *dssdev) |
| 4593 | { | 4483 | { |
| 4594 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4484 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 4595 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4485 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| @@ -4625,9 +4515,8 @@ err_get_dsi: | |||
| 4625 | DSSDBG("dsi_display_enable FAILED\n"); | 4515 | DSSDBG("dsi_display_enable FAILED\n"); |
| 4626 | return r; | 4516 | return r; |
| 4627 | } | 4517 | } |
| 4628 | EXPORT_SYMBOL(omapdss_dsi_display_enable); | ||
| 4629 | 4518 | ||
| 4630 | void omapdss_dsi_display_disable(struct omap_dss_device *dssdev, | 4519 | static void dsi_display_disable(struct omap_dss_device *dssdev, |
| 4631 | bool disconnect_lanes, bool enter_ulps) | 4520 | bool disconnect_lanes, bool enter_ulps) |
| 4632 | { | 4521 | { |
| 4633 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4522 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -4651,9 +4540,8 @@ void omapdss_dsi_display_disable(struct omap_dss_device *dssdev, | |||
| 4651 | 4540 | ||
| 4652 | mutex_unlock(&dsi->lock); | 4541 | mutex_unlock(&dsi->lock); |
| 4653 | } | 4542 | } |
| 4654 | EXPORT_SYMBOL(omapdss_dsi_display_disable); | ||
| 4655 | 4543 | ||
| 4656 | int omapdss_dsi_enable_te(struct omap_dss_device *dssdev, bool enable) | 4544 | static int dsi_enable_te(struct omap_dss_device *dssdev, bool enable) |
| 4657 | { | 4545 | { |
| 4658 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 4546 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 4659 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 4547 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| @@ -4661,7 +4549,6 @@ int omapdss_dsi_enable_te(struct omap_dss_device *dssdev, bool enable) | |||
| 4661 | dsi->te_enabled = enable; | 4549 | dsi->te_enabled = enable; |
| 4662 | return 0; | 4550 | return 0; |
| 4663 | } | 4551 | } |
| 4664 | EXPORT_SYMBOL(omapdss_dsi_enable_te); | ||
| 4665 | 4552 | ||
| 4666 | #ifdef PRINT_VERBOSE_VM_TIMINGS | 4553 | #ifdef PRINT_VERBOSE_VM_TIMINGS |
| 4667 | static void print_dsi_vm(const char *str, | 4554 | static void print_dsi_vm(const char *str, |
| @@ -5136,7 +5023,7 @@ static bool dsi_vm_calc(struct dsi_data *dsi, | |||
| 5136 | dsi_vm_calc_pll_cb, ctx); | 5023 | dsi_vm_calc_pll_cb, ctx); |
| 5137 | } | 5024 | } |
| 5138 | 5025 | ||
| 5139 | int omapdss_dsi_set_config(struct omap_dss_device *dssdev, | 5026 | static int dsi_set_config(struct omap_dss_device *dssdev, |
| 5140 | const struct omap_dss_dsi_config *config) | 5027 | const struct omap_dss_dsi_config *config) |
| 5141 | { | 5028 | { |
| 5142 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 5029 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| @@ -5184,7 +5071,6 @@ err: | |||
| 5184 | 5071 | ||
| 5185 | return r; | 5072 | return r; |
| 5186 | } | 5073 | } |
| 5187 | EXPORT_SYMBOL(omapdss_dsi_set_config); | ||
| 5188 | 5074 | ||
| 5189 | /* | 5075 | /* |
| 5190 | * Return a hardcoded channel for the DSI output. This should work for | 5076 | * Return a hardcoded channel for the DSI output. This should work for |
| @@ -5235,7 +5121,7 @@ static enum omap_channel dsi_get_channel(int module_id) | |||
| 5235 | } | 5121 | } |
| 5236 | } | 5122 | } |
| 5237 | 5123 | ||
| 5238 | int omap_dsi_request_vc(struct omap_dss_device *dssdev, int *channel) | 5124 | static int dsi_request_vc(struct omap_dss_device *dssdev, int *channel) |
| 5239 | { | 5125 | { |
| 5240 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 5126 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 5241 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 5127 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| @@ -5252,9 +5138,8 @@ int omap_dsi_request_vc(struct omap_dss_device *dssdev, int *channel) | |||
| 5252 | DSSERR("cannot get VC for display %s", dssdev->name); | 5138 | DSSERR("cannot get VC for display %s", dssdev->name); |
| 5253 | return -ENOSPC; | 5139 | return -ENOSPC; |
| 5254 | } | 5140 | } |
| 5255 | EXPORT_SYMBOL(omap_dsi_request_vc); | ||
| 5256 | 5141 | ||
| 5257 | int omap_dsi_set_vc_id(struct omap_dss_device *dssdev, int channel, int vc_id) | 5142 | static int dsi_set_vc_id(struct omap_dss_device *dssdev, int channel, int vc_id) |
| 5258 | { | 5143 | { |
| 5259 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 5144 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 5260 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 5145 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| @@ -5279,9 +5164,8 @@ int omap_dsi_set_vc_id(struct omap_dss_device *dssdev, int channel, int vc_id) | |||
| 5279 | 5164 | ||
| 5280 | return 0; | 5165 | return 0; |
| 5281 | } | 5166 | } |
| 5282 | EXPORT_SYMBOL(omap_dsi_set_vc_id); | ||
| 5283 | 5167 | ||
| 5284 | void omap_dsi_release_vc(struct omap_dss_device *dssdev, int channel) | 5168 | static void dsi_release_vc(struct omap_dss_device *dssdev, int channel) |
| 5285 | { | 5169 | { |
| 5286 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); | 5170 | struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); |
| 5287 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | 5171 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); |
| @@ -5292,7 +5176,6 @@ void omap_dsi_release_vc(struct omap_dss_device *dssdev, int channel) | |||
| 5292 | dsi->vc[channel].vc_id = 0; | 5176 | dsi->vc[channel].vc_id = 0; |
| 5293 | } | 5177 | } |
| 5294 | } | 5178 | } |
| 5295 | EXPORT_SYMBOL(omap_dsi_release_vc); | ||
| 5296 | 5179 | ||
| 5297 | void dsi_wait_pll_hsdiv_dispc_active(struct platform_device *dsidev) | 5180 | void dsi_wait_pll_hsdiv_dispc_active(struct platform_device *dsidev) |
| 5298 | { | 5181 | { |
| @@ -5348,79 +5231,6 @@ static int dsi_get_clocks(struct platform_device *dsidev) | |||
| 5348 | return 0; | 5231 | return 0; |
| 5349 | } | 5232 | } |
| 5350 | 5233 | ||
| 5351 | static struct omap_dss_device *dsi_find_dssdev(struct platform_device *pdev) | ||
| 5352 | { | ||
| 5353 | struct omap_dss_board_info *pdata = pdev->dev.platform_data; | ||
| 5354 | struct dsi_data *dsi = dsi_get_dsidrv_data(pdev); | ||
| 5355 | const char *def_disp_name = omapdss_get_default_display_name(); | ||
| 5356 | struct omap_dss_device *def_dssdev; | ||
| 5357 | int i; | ||
| 5358 | |||
| 5359 | def_dssdev = NULL; | ||
| 5360 | |||
| 5361 | for (i = 0; i < pdata->num_devices; ++i) { | ||
| 5362 | struct omap_dss_device *dssdev = pdata->devices[i]; | ||
| 5363 | |||
| 5364 | if (dssdev->type != OMAP_DISPLAY_TYPE_DSI) | ||
| 5365 | continue; | ||
| 5366 | |||
| 5367 | if (dssdev->phy.dsi.module != dsi->module_id) | ||
| 5368 | continue; | ||
| 5369 | |||
| 5370 | if (def_dssdev == NULL) | ||
| 5371 | def_dssdev = dssdev; | ||
| 5372 | |||
| 5373 | if (def_disp_name != NULL && | ||
| 5374 | strcmp(dssdev->name, def_disp_name) == 0) { | ||
| 5375 | def_dssdev = dssdev; | ||
| 5376 | break; | ||
| 5377 | } | ||
| 5378 | } | ||
| 5379 | |||
| 5380 | return def_dssdev; | ||
| 5381 | } | ||
| 5382 | |||
| 5383 | static int dsi_probe_pdata(struct platform_device *dsidev) | ||
| 5384 | { | ||
| 5385 | struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); | ||
| 5386 | struct omap_dss_device *plat_dssdev; | ||
| 5387 | struct omap_dss_device *dssdev; | ||
| 5388 | int r; | ||
| 5389 | |||
| 5390 | plat_dssdev = dsi_find_dssdev(dsidev); | ||
| 5391 | |||
| 5392 | if (!plat_dssdev) | ||
| 5393 | return 0; | ||
| 5394 | |||
| 5395 | r = dsi_regulator_init(dsidev); | ||
| 5396 | if (r) | ||
| 5397 | return r; | ||
| 5398 | |||
| 5399 | dssdev = dss_alloc_and_init_device(&dsidev->dev); | ||
| 5400 | if (!dssdev) | ||
| 5401 | return -ENOMEM; | ||
| 5402 | |||
| 5403 | dss_copy_device_pdata(dssdev, plat_dssdev); | ||
| 5404 | |||
| 5405 | r = omapdss_output_set_device(&dsi->output, dssdev); | ||
| 5406 | if (r) { | ||
| 5407 | DSSERR("failed to connect output to new device: %s\n", | ||
| 5408 | dssdev->name); | ||
| 5409 | dss_put_device(dssdev); | ||
| 5410 | return r; | ||
| 5411 | } | ||
| 5412 | |||
| 5413 | r = dss_add_device(dssdev); | ||
| 5414 | if (r) { | ||
| 5415 | DSSERR("device %s register failed: %d\n", dssdev->name, r); | ||
| 5416 | omapdss_output_unset_device(&dsi->output); | ||
| 5417 | dss_put_device(dssdev); | ||
| 5418 | return r; | ||
| 5419 | } | ||
| 5420 | |||
| 5421 | return 0; | ||
| 5422 | } | ||
| 5423 | |||
| 5424 | static int dsi_connect(struct omap_dss_device *dssdev, | 5234 | static int dsi_connect(struct omap_dss_device *dssdev, |
| 5425 | struct omap_dss_device *dst) | 5235 | struct omap_dss_device *dst) |
| 5426 | { | 5236 | { |
| @@ -5472,24 +5282,24 @@ static const struct omapdss_dsi_ops dsi_ops = { | |||
| 5472 | .bus_lock = dsi_bus_lock, | 5282 | .bus_lock = dsi_bus_lock, |
| 5473 | .bus_unlock = dsi_bus_unlock, | 5283 | .bus_unlock = dsi_bus_unlock, |
| 5474 | 5284 | ||
| 5475 | .enable = omapdss_dsi_display_enable, | 5285 | .enable = dsi_display_enable, |
| 5476 | .disable = omapdss_dsi_display_disable, | 5286 | .disable = dsi_display_disable, |
| 5477 | 5287 | ||
| 5478 | .enable_hs = omapdss_dsi_vc_enable_hs, | 5288 | .enable_hs = dsi_vc_enable_hs, |
| 5479 | 5289 | ||
| 5480 | .configure_pins = omapdss_dsi_configure_pins, | 5290 | .configure_pins = dsi_configure_pins, |
| 5481 | .set_config = omapdss_dsi_set_config, | 5291 | .set_config = dsi_set_config, |
| 5482 | 5292 | ||
| 5483 | .enable_video_output = dsi_enable_video_output, | 5293 | .enable_video_output = dsi_enable_video_output, |
| 5484 | .disable_video_output = dsi_disable_video_output, | 5294 | .disable_video_output = dsi_disable_video_output, |
| 5485 | 5295 | ||
| 5486 | .update = omap_dsi_update, | 5296 | .update = dsi_update, |
| 5487 | 5297 | ||
| 5488 | .enable_te = omapdss_dsi_enable_te, | 5298 | .enable_te = dsi_enable_te, |
| 5489 | 5299 | ||
| 5490 | .request_vc = omap_dsi_request_vc, | 5300 | .request_vc = dsi_request_vc, |
| 5491 | .set_vc_id = omap_dsi_set_vc_id, | 5301 | .set_vc_id = dsi_set_vc_id, |
| 5492 | .release_vc = omap_dsi_release_vc, | 5302 | .release_vc = dsi_release_vc, |
| 5493 | 5303 | ||
| 5494 | .dcs_write = dsi_vc_dcs_write, | 5304 | .dcs_write = dsi_vc_dcs_write, |
| 5495 | .dcs_write_nosync = dsi_vc_dcs_write_nosync, | 5305 | .dcs_write_nosync = dsi_vc_dcs_write_nosync, |
| @@ -5627,12 +5437,6 @@ static int omap_dsihw_probe(struct platform_device *dsidev) | |||
| 5627 | 5437 | ||
| 5628 | dsi_init_output(dsidev); | 5438 | dsi_init_output(dsidev); |
| 5629 | 5439 | ||
| 5630 | if (dsidev->dev.platform_data) { | ||
| 5631 | r = dsi_probe_pdata(dsidev); | ||
| 5632 | if (r) | ||
| 5633 | goto err_probe; | ||
| 5634 | } | ||
| 5635 | |||
| 5636 | dsi_runtime_put(dsidev); | 5440 | dsi_runtime_put(dsidev); |
| 5637 | 5441 | ||
| 5638 | if (dsi->module_id == 0) | 5442 | if (dsi->module_id == 0) |
| @@ -5648,9 +5452,6 @@ static int omap_dsihw_probe(struct platform_device *dsidev) | |||
| 5648 | #endif | 5452 | #endif |
| 5649 | return 0; | 5453 | return 0; |
| 5650 | 5454 | ||
| 5651 | err_probe: | ||
| 5652 | dsi_runtime_put(dsidev); | ||
| 5653 | dsi_uninit_output(dsidev); | ||
| 5654 | err_runtime_get: | 5455 | err_runtime_get: |
| 5655 | pm_runtime_disable(&dsidev->dev); | 5456 | pm_runtime_disable(&dsidev->dev); |
| 5656 | return r; | 5457 | return r; |
| @@ -5662,8 +5463,6 @@ static int __exit omap_dsihw_remove(struct platform_device *dsidev) | |||
| 5662 | 5463 | ||
| 5663 | WARN_ON(dsi->scp_clk_refcount > 0); | 5464 | WARN_ON(dsi->scp_clk_refcount > 0); |
| 5664 | 5465 | ||
| 5665 | dss_unregister_child_devices(&dsidev->dev); | ||
| 5666 | |||
| 5667 | dsi_uninit_output(dsidev); | 5466 | dsi_uninit_output(dsidev); |
| 5668 | 5467 | ||
| 5669 | pm_runtime_disable(&dsidev->dev); | 5468 | pm_runtime_disable(&dsidev->dev); |
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 1199e3beb7be..6d7297fb89db 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
| @@ -321,39 +321,6 @@ struct omap_dss_dsi_config { | |||
| 321 | enum omap_dss_dsi_trans_mode trans_mode; | 321 | enum omap_dss_dsi_trans_mode trans_mode; |
| 322 | }; | 322 | }; |
| 323 | 323 | ||
| 324 | void dsi_bus_lock(struct omap_dss_device *dssdev); | ||
| 325 | void dsi_bus_unlock(struct omap_dss_device *dssdev); | ||
| 326 | int dsi_vc_dcs_write(struct omap_dss_device *dssdev, int channel, u8 *data, | ||
| 327 | int len); | ||
| 328 | int dsi_vc_generic_write(struct omap_dss_device *dssdev, int channel, u8 *data, | ||
| 329 | int len); | ||
| 330 | int dsi_vc_dcs_write_0(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd); | ||
| 331 | int dsi_vc_generic_write_0(struct omap_dss_device *dssdev, int channel); | ||
| 332 | int dsi_vc_dcs_write_1(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, | ||
| 333 | u8 param); | ||
| 334 | int dsi_vc_generic_write_1(struct omap_dss_device *dssdev, int channel, | ||
| 335 | u8 param); | ||
| 336 | int dsi_vc_generic_write_2(struct omap_dss_device *dssdev, int channel, | ||
| 337 | u8 param1, u8 param2); | ||
| 338 | int dsi_vc_dcs_write_nosync(struct omap_dss_device *dssdev, int channel, | ||
| 339 | u8 *data, int len); | ||
| 340 | int dsi_vc_generic_write_nosync(struct omap_dss_device *dssdev, int channel, | ||
| 341 | u8 *data, int len); | ||
| 342 | int dsi_vc_dcs_read(struct omap_dss_device *dssdev, int channel, u8 dcs_cmd, | ||
| 343 | u8 *buf, int buflen); | ||
| 344 | int dsi_vc_generic_read_0(struct omap_dss_device *dssdev, int channel, u8 *buf, | ||
| 345 | int buflen); | ||
| 346 | int dsi_vc_generic_read_1(struct omap_dss_device *dssdev, int channel, u8 param, | ||
| 347 | u8 *buf, int buflen); | ||
| 348 | int dsi_vc_generic_read_2(struct omap_dss_device *dssdev, int channel, | ||
| 349 | u8 param1, u8 param2, u8 *buf, int buflen); | ||
| 350 | int dsi_vc_set_max_rx_packet_size(struct omap_dss_device *dssdev, int channel, | ||
| 351 | u16 len); | ||
| 352 | int dsi_vc_send_null(struct omap_dss_device *dssdev, int channel); | ||
| 353 | int dsi_vc_send_bta_sync(struct omap_dss_device *dssdev, int channel); | ||
| 354 | int dsi_enable_video_output(struct omap_dss_device *dssdev, int channel); | ||
| 355 | void dsi_disable_video_output(struct omap_dss_device *dssdev, int channel); | ||
| 356 | |||
| 357 | enum omapdss_version { | 324 | enum omapdss_version { |
| 358 | OMAPDSS_VER_UNKNOWN = 0, | 325 | OMAPDSS_VER_UNKNOWN = 0, |
| 359 | OMAPDSS_VER_OMAP24xx, | 326 | OMAPDSS_VER_OMAP24xx, |
| @@ -1020,24 +987,6 @@ int dispc_ovl_setup(enum omap_plane plane, const struct omap_overlay_info *oi, | |||
| 1020 | #define to_dss_driver(x) container_of((x), struct omap_dss_driver, driver) | 987 | #define to_dss_driver(x) container_of((x), struct omap_dss_driver, driver) |
| 1021 | #define to_dss_device(x) container_of((x), struct omap_dss_device, old_dev) | 988 | #define to_dss_device(x) container_of((x), struct omap_dss_device, old_dev) |
| 1022 | 989 | ||
| 1023 | void omapdss_dsi_vc_enable_hs(struct omap_dss_device *dssdev, int channel, | ||
| 1024 | bool enable); | ||
| 1025 | int omapdss_dsi_enable_te(struct omap_dss_device *dssdev, bool enable); | ||
| 1026 | int omapdss_dsi_set_config(struct omap_dss_device *dssdev, | ||
| 1027 | const struct omap_dss_dsi_config *config); | ||
| 1028 | |||
| 1029 | int omap_dsi_update(struct omap_dss_device *dssdev, int channel, | ||
| 1030 | void (*callback)(int, void *), void *data); | ||
| 1031 | int omap_dsi_request_vc(struct omap_dss_device *dssdev, int *channel); | ||
| 1032 | int omap_dsi_set_vc_id(struct omap_dss_device *dssdev, int channel, int vc_id); | ||
| 1033 | void omap_dsi_release_vc(struct omap_dss_device *dssdev, int channel); | ||
| 1034 | int omapdss_dsi_configure_pins(struct omap_dss_device *dssdev, | ||
| 1035 | const struct omap_dsi_pin_config *pin_cfg); | ||
| 1036 | |||
| 1037 | int omapdss_dsi_display_enable(struct omap_dss_device *dssdev); | ||
| 1038 | void omapdss_dsi_display_disable(struct omap_dss_device *dssdev, | ||
| 1039 | bool disconnect_lanes, bool enter_ulps); | ||
| 1040 | |||
| 1041 | int omapdss_sdi_display_enable(struct omap_dss_device *dssdev); | 990 | int omapdss_sdi_display_enable(struct omap_dss_device *dssdev); |
| 1042 | void omapdss_sdi_display_disable(struct omap_dss_device *dssdev); | 991 | void omapdss_sdi_display_disable(struct omap_dss_device *dssdev); |
| 1043 | void omapdss_sdi_set_timings(struct omap_dss_device *dssdev, | 992 | void omapdss_sdi_set_timings(struct omap_dss_device *dssdev, |
