mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 20:07:46 +09:00
drm/rockchip: drv: Add helper function drm_mode_convert_to_{split,origin}_mode()
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com> Change-Id: I1a40d0d296c5e82cc5d40378af002132d9949e04
This commit is contained in:
@@ -47,6 +47,41 @@
|
||||
static bool is_support_iommu = true;
|
||||
static struct drm_driver rockchip_drm_driver;
|
||||
|
||||
void drm_mode_convert_to_split_mode(struct drm_display_mode *mode)
|
||||
{
|
||||
u16 hactive, hfp, hsync, hbp;
|
||||
|
||||
hactive = mode->hdisplay;
|
||||
hfp = mode->hsync_start - mode->hdisplay;
|
||||
hsync = mode->hsync_end - mode->hsync_start;
|
||||
hbp = mode->htotal - mode->hsync_end;
|
||||
|
||||
mode->clock *= 2;
|
||||
mode->hdisplay = hactive * 2;
|
||||
mode->hsync_start = mode->hdisplay + hfp * 2;
|
||||
mode->hsync_end = mode->hsync_start + hsync * 2;
|
||||
mode->htotal = mode->hsync_end + hbp * 2;
|
||||
drm_mode_set_name(mode);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_mode_convert_to_split_mode);
|
||||
|
||||
void drm_mode_convert_to_origin_mode(struct drm_display_mode *mode)
|
||||
{
|
||||
u16 hactive, hfp, hsync, hbp;
|
||||
|
||||
hactive = mode->hdisplay;
|
||||
hfp = mode->hsync_start - mode->hdisplay;
|
||||
hsync = mode->hsync_end - mode->hsync_start;
|
||||
hbp = mode->htotal - mode->hsync_end;
|
||||
|
||||
mode->clock /= 2;
|
||||
mode->hdisplay = hactive / 2;
|
||||
mode->hsync_start = mode->hdisplay + hfp / 2;
|
||||
mode->hsync_end = mode->hsync_start + hsync / 2;
|
||||
mode->htotal = mode->hsync_end + hbp / 2;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_mode_convert_to_origin_mode);
|
||||
|
||||
/**
|
||||
* drm_connector_oob_hotplug_event - Report out-of-band hotplug event to connector
|
||||
* @connector: connector to report the event on
|
||||
|
||||
@@ -400,6 +400,8 @@ void rockchip_drm_register_sub_dev(struct rockchip_drm_sub_dev *sub_dev);
|
||||
void rockchip_drm_unregister_sub_dev(struct rockchip_drm_sub_dev *sub_dev);
|
||||
struct rockchip_drm_sub_dev *rockchip_drm_get_sub_dev(struct device_node *node);
|
||||
int rockchip_drm_add_modes_noedid(struct drm_connector *connector);
|
||||
void drm_mode_convert_to_split_mode(struct drm_display_mode *mode);
|
||||
void drm_mode_convert_to_origin_mode(struct drm_display_mode *mode);
|
||||
#if IS_ENABLED(CONFIG_DRM_ROCKCHIP)
|
||||
int rockchip_drm_get_sub_dev_type(void);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user