diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-02 13:41:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-02 13:41:26 -0500 |
commit | 3a5b27bf6f29574d667230c7e76e4b83fe3014e0 (patch) | |
tree | a80892424269083c292d3eee29c4b3e6289d588b /arch/arm/plat-omap | |
parent | 5057bfaff82e12f01a2ffd58f55535cbd7c5c3a2 (diff) | |
parent | 21df20fcfb4e88f4cd4991e9e67de549e6480adf (diff) |
Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux
* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (49 commits)
OMAP: DSS2: Taal: Fix TE when resuming
OMAP: DSS2: Taal: Fix ESD check
OMAP: DSS2: OMAPFB: Constify some function parameters
OMAP: DSS2: OMAPFB: install omapfb.h
OMAP: DSS2: DSI: add error prints
OMAP: DSS2: TPO-TD03MTEA1: fix function names
OMAP: DSS2: DSI: add dsi_vc_dcs_read_2() helper
OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE
OMAP: DSS2: DSI: remove external TE support
OMAP: DSS2: move timing functions
OMAP: DSS2: move set/get_wss()
OMAP: DSS2: move enable/disable/suspend/resume
OMAP: DSS2: move update() and sync()
OMAP: DSS2: move set/get_update_mode()
OMAP: DSS2: move enable/get_te()
OMAP: DSS2: move get_recommended_bpp()
OMAP: DSS2: move get_resolution()
OMAP: DSS2: move enable/disable_channel to overlay manager
OMAP: DSS2: move wait_vsync()
OMAP: DSS2: move get/set_rotate()
...
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/include/plat/display.h | 117 |
1 files changed, 66 insertions, 51 deletions
diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h index c66e464732df..1c529ce9dc11 100644 --- a/arch/arm/plat-omap/include/plat/display.h +++ b/arch/arm/plat-omap/include/plat/display.h | |||
@@ -233,8 +233,12 @@ int omap_rfbi_setup_te(enum omap_rfbi_te_mode mode, | |||
233 | void dsi_bus_lock(void); | 233 | void dsi_bus_lock(void); |
234 | void dsi_bus_unlock(void); | 234 | void dsi_bus_unlock(void); |
235 | int dsi_vc_dcs_write(int channel, u8 *data, int len); | 235 | int dsi_vc_dcs_write(int channel, u8 *data, int len); |
236 | int dsi_vc_dcs_write_0(int channel, u8 dcs_cmd); | ||
237 | int dsi_vc_dcs_write_1(int channel, u8 dcs_cmd, u8 param); | ||
236 | int dsi_vc_dcs_write_nosync(int channel, u8 *data, int len); | 238 | int dsi_vc_dcs_write_nosync(int channel, u8 *data, int len); |
237 | int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen); | 239 | int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen); |
240 | int dsi_vc_dcs_read_1(int channel, u8 dcs_cmd, u8 *data); | ||
241 | int dsi_vc_dcs_read_2(int channel, u8 dcs_cmd, u16 *data); | ||
238 | int dsi_vc_set_max_rx_packet_size(int channel, u16 len); | 242 | int dsi_vc_set_max_rx_packet_size(int channel, u16 len); |
239 | int dsi_vc_send_null(int channel); | 243 | int dsi_vc_send_null(int channel); |
240 | int dsi_vc_send_bta_sync(int channel); | 244 | int dsi_vc_send_bta_sync(int channel); |
@@ -367,6 +371,10 @@ struct omap_overlay_manager { | |||
367 | 371 | ||
368 | int (*apply)(struct omap_overlay_manager *mgr); | 372 | int (*apply)(struct omap_overlay_manager *mgr); |
369 | int (*wait_for_go)(struct omap_overlay_manager *mgr); | 373 | int (*wait_for_go)(struct omap_overlay_manager *mgr); |
374 | int (*wait_for_vsync)(struct omap_overlay_manager *mgr); | ||
375 | |||
376 | int (*enable)(struct omap_overlay_manager *mgr); | ||
377 | int (*disable)(struct omap_overlay_manager *mgr); | ||
370 | }; | 378 | }; |
371 | 379 | ||
372 | struct omap_dss_device { | 380 | struct omap_dss_device { |
@@ -426,16 +434,11 @@ struct omap_dss_device { | |||
426 | int acb; /* ac-bias pin frequency */ | 434 | int acb; /* ac-bias pin frequency */ |
427 | 435 | ||
428 | enum omap_panel_config config; | 436 | enum omap_panel_config config; |
429 | |||
430 | u8 recommended_bpp; | ||
431 | |||
432 | struct omap_dss_device *ctrl; | ||
433 | } panel; | 437 | } panel; |
434 | 438 | ||
435 | struct { | 439 | struct { |
436 | u8 pixel_size; | 440 | u8 pixel_size; |
437 | struct rfbi_timings rfbi_timings; | 441 | struct rfbi_timings rfbi_timings; |
438 | struct omap_dss_device *panel; | ||
439 | } ctrl; | 442 | } ctrl; |
440 | 443 | ||
441 | int reset_gpio; | 444 | int reset_gpio; |
@@ -460,49 +463,6 @@ struct omap_dss_device { | |||
460 | 463 | ||
461 | enum omap_dss_display_state state; | 464 | enum omap_dss_display_state state; |
462 | 465 | ||
463 | int (*enable)(struct omap_dss_device *dssdev); | ||
464 | void (*disable)(struct omap_dss_device *dssdev); | ||
465 | |||
466 | int (*suspend)(struct omap_dss_device *dssdev); | ||
467 | int (*resume)(struct omap_dss_device *dssdev); | ||
468 | |||
469 | void (*get_resolution)(struct omap_dss_device *dssdev, | ||
470 | u16 *xres, u16 *yres); | ||
471 | int (*get_recommended_bpp)(struct omap_dss_device *dssdev); | ||
472 | |||
473 | int (*check_timings)(struct omap_dss_device *dssdev, | ||
474 | struct omap_video_timings *timings); | ||
475 | void (*set_timings)(struct omap_dss_device *dssdev, | ||
476 | struct omap_video_timings *timings); | ||
477 | void (*get_timings)(struct omap_dss_device *dssdev, | ||
478 | struct omap_video_timings *timings); | ||
479 | int (*update)(struct omap_dss_device *dssdev, | ||
480 | u16 x, u16 y, u16 w, u16 h); | ||
481 | int (*sync)(struct omap_dss_device *dssdev); | ||
482 | int (*wait_vsync)(struct omap_dss_device *dssdev); | ||
483 | |||
484 | int (*set_update_mode)(struct omap_dss_device *dssdev, | ||
485 | enum omap_dss_update_mode); | ||
486 | enum omap_dss_update_mode (*get_update_mode) | ||
487 | (struct omap_dss_device *dssdev); | ||
488 | |||
489 | int (*enable_te)(struct omap_dss_device *dssdev, bool enable); | ||
490 | int (*get_te)(struct omap_dss_device *dssdev); | ||
491 | |||
492 | u8 (*get_rotate)(struct omap_dss_device *dssdev); | ||
493 | int (*set_rotate)(struct omap_dss_device *dssdev, u8 rotate); | ||
494 | |||
495 | bool (*get_mirror)(struct omap_dss_device *dssdev); | ||
496 | int (*set_mirror)(struct omap_dss_device *dssdev, bool enable); | ||
497 | |||
498 | int (*run_test)(struct omap_dss_device *dssdev, int test); | ||
499 | int (*memory_read)(struct omap_dss_device *dssdev, | ||
500 | void *buf, size_t size, | ||
501 | u16 x, u16 y, u16 w, u16 h); | ||
502 | |||
503 | int (*set_wss)(struct omap_dss_device *dssdev, u32 wss); | ||
504 | u32 (*get_wss)(struct omap_dss_device *dssdev); | ||
505 | |||
506 | /* platform specific */ | 466 | /* platform specific */ |
507 | int (*platform_enable)(struct omap_dss_device *dssdev); | 467 | int (*platform_enable)(struct omap_dss_device *dssdev); |
508 | void (*platform_disable)(struct omap_dss_device *dssdev); | 468 | void (*platform_disable)(struct omap_dss_device *dssdev); |
@@ -522,11 +482,17 @@ struct omap_dss_driver { | |||
522 | int (*resume)(struct omap_dss_device *display); | 482 | int (*resume)(struct omap_dss_device *display); |
523 | int (*run_test)(struct omap_dss_device *display, int test); | 483 | int (*run_test)(struct omap_dss_device *display, int test); |
524 | 484 | ||
525 | void (*setup_update)(struct omap_dss_device *dssdev, | 485 | int (*set_update_mode)(struct omap_dss_device *dssdev, |
526 | u16 x, u16 y, u16 w, u16 h); | 486 | enum omap_dss_update_mode); |
487 | enum omap_dss_update_mode (*get_update_mode)( | ||
488 | struct omap_dss_device *dssdev); | ||
489 | |||
490 | int (*update)(struct omap_dss_device *dssdev, | ||
491 | u16 x, u16 y, u16 w, u16 h); | ||
492 | int (*sync)(struct omap_dss_device *dssdev); | ||
527 | 493 | ||
528 | int (*enable_te)(struct omap_dss_device *dssdev, bool enable); | 494 | int (*enable_te)(struct omap_dss_device *dssdev, bool enable); |
529 | int (*wait_for_te)(struct omap_dss_device *dssdev); | 495 | int (*get_te)(struct omap_dss_device *dssdev); |
530 | 496 | ||
531 | u8 (*get_rotate)(struct omap_dss_device *dssdev); | 497 | u8 (*get_rotate)(struct omap_dss_device *dssdev); |
532 | int (*set_rotate)(struct omap_dss_device *dssdev, u8 rotate); | 498 | int (*set_rotate)(struct omap_dss_device *dssdev, u8 rotate); |
@@ -537,6 +503,20 @@ struct omap_dss_driver { | |||
537 | int (*memory_read)(struct omap_dss_device *dssdev, | 503 | int (*memory_read)(struct omap_dss_device *dssdev, |
538 | void *buf, size_t size, | 504 | void *buf, size_t size, |
539 | u16 x, u16 y, u16 w, u16 h); | 505 | u16 x, u16 y, u16 w, u16 h); |
506 | |||
507 | void (*get_resolution)(struct omap_dss_device *dssdev, | ||
508 | u16 *xres, u16 *yres); | ||
509 | int (*get_recommended_bpp)(struct omap_dss_device *dssdev); | ||
510 | |||
511 | int (*check_timings)(struct omap_dss_device *dssdev, | ||
512 | struct omap_video_timings *timings); | ||
513 | void (*set_timings)(struct omap_dss_device *dssdev, | ||
514 | struct omap_video_timings *timings); | ||
515 | void (*get_timings)(struct omap_dss_device *dssdev, | ||
516 | struct omap_video_timings *timings); | ||
517 | |||
518 | int (*set_wss)(struct omap_dss_device *dssdev, u32 wss); | ||
519 | u32 (*get_wss)(struct omap_dss_device *dssdev); | ||
540 | }; | 520 | }; |
541 | 521 | ||
542 | int omap_dss_register_driver(struct omap_dss_driver *); | 522 | int omap_dss_register_driver(struct omap_dss_driver *); |
@@ -561,6 +541,10 @@ struct omap_overlay_manager *omap_dss_get_overlay_manager(int num); | |||
561 | int omap_dss_get_num_overlays(void); | 541 | int omap_dss_get_num_overlays(void); |
562 | struct omap_overlay *omap_dss_get_overlay(int num); | 542 | struct omap_overlay *omap_dss_get_overlay(int num); |
563 | 543 | ||
544 | void omapdss_default_get_resolution(struct omap_dss_device *dssdev, | ||
545 | u16 *xres, u16 *yres); | ||
546 | int omapdss_default_get_recommended_bpp(struct omap_dss_device *dssdev); | ||
547 | |||
564 | typedef void (*omap_dispc_isr_t) (void *arg, u32 mask); | 548 | typedef void (*omap_dispc_isr_t) (void *arg, u32 mask); |
565 | int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); | 549 | int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); |
566 | int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); | 550 | int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask); |
@@ -572,4 +556,35 @@ int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask, | |||
572 | #define to_dss_driver(x) container_of((x), struct omap_dss_driver, driver) | 556 | #define to_dss_driver(x) container_of((x), struct omap_dss_driver, driver) |
573 | #define to_dss_device(x) container_of((x), struct omap_dss_device, dev) | 557 | #define to_dss_device(x) container_of((x), struct omap_dss_device, dev) |
574 | 558 | ||
559 | void omapdss_dsi_vc_enable_hs(int channel, bool enable); | ||
560 | int omapdss_dsi_enable_te(struct omap_dss_device *dssdev, bool enable); | ||
561 | |||
562 | int omap_dsi_prepare_update(struct omap_dss_device *dssdev, | ||
563 | u16 *x, u16 *y, u16 *w, u16 *h); | ||
564 | int omap_dsi_update(struct omap_dss_device *dssdev, | ||
565 | int channel, | ||
566 | u16 x, u16 y, u16 w, u16 h, | ||
567 | void (*callback)(int, void *), void *data); | ||
568 | |||
569 | int omapdss_dsi_display_enable(struct omap_dss_device *dssdev); | ||
570 | void omapdss_dsi_display_disable(struct omap_dss_device *dssdev); | ||
571 | |||
572 | int omapdss_dpi_display_enable(struct omap_dss_device *dssdev); | ||
573 | void omapdss_dpi_display_disable(struct omap_dss_device *dssdev); | ||
574 | void dpi_set_timings(struct omap_dss_device *dssdev, | ||
575 | struct omap_video_timings *timings); | ||
576 | int dpi_check_timings(struct omap_dss_device *dssdev, | ||
577 | struct omap_video_timings *timings); | ||
578 | |||
579 | int omapdss_sdi_display_enable(struct omap_dss_device *dssdev); | ||
580 | void omapdss_sdi_display_disable(struct omap_dss_device *dssdev); | ||
581 | |||
582 | int omapdss_rfbi_display_enable(struct omap_dss_device *dssdev); | ||
583 | void omapdss_rfbi_display_disable(struct omap_dss_device *dssdev); | ||
584 | int omap_rfbi_prepare_update(struct omap_dss_device *dssdev, | ||
585 | u16 *x, u16 *y, u16 *w, u16 *h); | ||
586 | int omap_rfbi_update(struct omap_dss_device *dssdev, | ||
587 | u16 x, u16 y, u16 w, u16 h, | ||
588 | void (*callback)(void *), void *data); | ||
589 | |||
575 | #endif | 590 | #endif |