diff options
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss/omapdss.h')
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/omapdss.h | 95 |
1 files changed, 56 insertions, 39 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 4bf7843b4aec..a4f71e082c1c 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h | |||
@@ -62,6 +62,8 @@ | |||
62 | struct dss_device; | 62 | struct dss_device; |
63 | struct omap_drm_private; | 63 | struct omap_drm_private; |
64 | struct omap_dss_device; | 64 | struct omap_dss_device; |
65 | struct dispc_device; | ||
66 | struct dss_device; | ||
65 | struct dss_lcd_mgr_config; | 67 | struct dss_lcd_mgr_config; |
66 | struct snd_aes_iec958; | 68 | struct snd_aes_iec958; |
67 | struct snd_cea_861_aud_if; | 69 | struct snd_cea_861_aud_if; |
@@ -690,49 +692,64 @@ void dss_mgr_unregister_framedone_handler(struct omap_dss_device *dssdev, | |||
690 | /* dispc ops */ | 692 | /* dispc ops */ |
691 | 693 | ||
692 | struct dispc_ops { | 694 | struct dispc_ops { |
693 | u32 (*read_irqstatus)(void); | 695 | u32 (*read_irqstatus)(struct dispc_device *dispc); |
694 | void (*clear_irqstatus)(u32 mask); | 696 | void (*clear_irqstatus)(struct dispc_device *dispc, u32 mask); |
695 | void (*write_irqenable)(u32 mask); | 697 | void (*write_irqenable)(struct dispc_device *dispc, u32 mask); |
696 | 698 | ||
697 | int (*request_irq)(irq_handler_t handler, void *dev_id); | 699 | int (*request_irq)(struct dispc_device *dispc, irq_handler_t handler, |
698 | void (*free_irq)(void *dev_id); | 700 | void *dev_id); |
699 | 701 | void (*free_irq)(struct dispc_device *dispc, void *dev_id); | |
700 | int (*runtime_get)(void); | 702 | |
701 | void (*runtime_put)(void); | 703 | int (*runtime_get)(struct dispc_device *dispc); |
702 | 704 | void (*runtime_put)(struct dispc_device *dispc); | |
703 | int (*get_num_ovls)(void); | 705 | |
704 | int (*get_num_mgrs)(void); | 706 | int (*get_num_ovls)(struct dispc_device *dispc); |
705 | 707 | int (*get_num_mgrs)(struct dispc_device *dispc); | |
706 | u32 (*get_memory_bandwidth_limit)(void); | 708 | |
707 | 709 | u32 (*get_memory_bandwidth_limit)(struct dispc_device *dispc); | |
708 | void (*mgr_enable)(enum omap_channel channel, bool enable); | 710 | |
709 | bool (*mgr_is_enabled)(enum omap_channel channel); | 711 | void (*mgr_enable)(struct dispc_device *dispc, |
710 | u32 (*mgr_get_vsync_irq)(enum omap_channel channel); | 712 | enum omap_channel channel, bool enable); |
711 | u32 (*mgr_get_framedone_irq)(enum omap_channel channel); | 713 | bool (*mgr_is_enabled)(struct dispc_device *dispc, |
712 | u32 (*mgr_get_sync_lost_irq)(enum omap_channel channel); | 714 | enum omap_channel channel); |
713 | bool (*mgr_go_busy)(enum omap_channel channel); | 715 | u32 (*mgr_get_vsync_irq)(struct dispc_device *dispc, |
714 | void (*mgr_go)(enum omap_channel channel); | 716 | enum omap_channel channel); |
715 | void (*mgr_set_lcd_config)(enum omap_channel channel, | 717 | u32 (*mgr_get_framedone_irq)(struct dispc_device *dispc, |
716 | const struct dss_lcd_mgr_config *config); | 718 | enum omap_channel channel); |
717 | void (*mgr_set_timings)(enum omap_channel channel, | 719 | u32 (*mgr_get_sync_lost_irq)(struct dispc_device *dispc, |
718 | const struct videomode *vm); | 720 | enum omap_channel channel); |
719 | void (*mgr_setup)(enum omap_channel channel, | 721 | bool (*mgr_go_busy)(struct dispc_device *dispc, |
720 | const struct omap_overlay_manager_info *info); | 722 | enum omap_channel channel); |
721 | enum omap_dss_output_id (*mgr_get_supported_outputs)(enum omap_channel channel); | 723 | void (*mgr_go)(struct dispc_device *dispc, enum omap_channel channel); |
722 | u32 (*mgr_gamma_size)(enum omap_channel channel); | 724 | void (*mgr_set_lcd_config)(struct dispc_device *dispc, |
723 | void (*mgr_set_gamma)(enum omap_channel channel, | 725 | enum omap_channel channel, |
724 | const struct drm_color_lut *lut, | 726 | const struct dss_lcd_mgr_config *config); |
725 | unsigned int length); | 727 | void (*mgr_set_timings)(struct dispc_device *dispc, |
726 | 728 | enum omap_channel channel, | |
727 | int (*ovl_enable)(enum omap_plane_id plane, bool enable); | 729 | const struct videomode *vm); |
728 | int (*ovl_setup)(enum omap_plane_id plane, | 730 | void (*mgr_setup)(struct dispc_device *dispc, enum omap_channel channel, |
731 | const struct omap_overlay_manager_info *info); | ||
732 | enum omap_dss_output_id (*mgr_get_supported_outputs)( | ||
733 | struct dispc_device *dispc, enum omap_channel channel); | ||
734 | u32 (*mgr_gamma_size)(struct dispc_device *dispc, | ||
735 | enum omap_channel channel); | ||
736 | void (*mgr_set_gamma)(struct dispc_device *dispc, | ||
737 | enum omap_channel channel, | ||
738 | const struct drm_color_lut *lut, | ||
739 | unsigned int length); | ||
740 | |||
741 | int (*ovl_enable)(struct dispc_device *dispc, enum omap_plane_id plane, | ||
742 | bool enable); | ||
743 | int (*ovl_setup)(struct dispc_device *dispc, enum omap_plane_id plane, | ||
729 | const struct omap_overlay_info *oi, | 744 | const struct omap_overlay_info *oi, |
730 | const struct videomode *vm, bool mem_to_mem, | 745 | const struct videomode *vm, bool mem_to_mem, |
731 | enum omap_channel channel); | 746 | enum omap_channel channel); |
732 | 747 | ||
733 | const u32 *(*ovl_get_color_modes)(enum omap_plane_id plane); | 748 | const u32 *(*ovl_get_color_modes)(struct dispc_device *dispc, |
749 | enum omap_plane_id plane); | ||
734 | }; | 750 | }; |
735 | 751 | ||
752 | struct dispc_device *dispc_get_dispc(struct dss_device *dss); | ||
736 | const struct dispc_ops *dispc_get_ops(struct dss_device *dss); | 753 | const struct dispc_ops *dispc_get_ops(struct dss_device *dss); |
737 | 754 | ||
738 | bool omapdss_component_is_display(struct device_node *node); | 755 | bool omapdss_component_is_display(struct device_node *node); |