[PATCH] modesetting: Copy over VRefresh to/from KMS modes

Keith Packard keithp at keithp.com
Thu Jan 8 14:42:45 PST 2015


"Jasper St. Pierre" <jstpierre at mecheye.net> writes:

> The kernel might want this information during modesetting.
> ---
>  hw/xfree86/drivers/modesetting/drmmode_display.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
> index 824500b..27b7fd8 100644
> --- a/hw/xfree86/drivers/modesetting/drmmode_display.c
> +++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
> @@ -145,6 +145,7 @@ drmmode_ConvertFromKMode(ScrnInfoPtr scrn,
>      mode->VSyncEnd = kmode->vsync_end;
>      mode->VTotal = kmode->vtotal;
>      mode->VScan = kmode->vscan;
> +    mode->VRefresh = kmode->vrefresh;

You probably want to compute this using xf86ModeVRefresh instead of just
using the kernel value as the kernel holds an int while the X server
makes this a float.

>  
>      mode->Flags = kmode->flags; //& FLAG_BITS;
>      mode->name = strdup(kmode->name);
> @@ -174,6 +175,7 @@ drmmode_ConvertToKMode(ScrnInfoPtr scrn,
>      kmode->vsync_end = mode->VSyncEnd;
>      kmode->vtotal = mode->VTotal;
>      kmode->vscan = mode->VScan;
> +    kmode->vrefresh = xf86ModeVRefresh(mode);

Why compute this instead of just pulling from mode->VRefresh?
And, you'll need to explicitly round this to the nearest int instead of
truncating.

-- 
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20150108/96aac021/attachment.sig>


More information about the xorg-devel mailing list