[PATCH 09/12] drm/edid: Update range descriptor struct for EDID 1.4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Fri, 13 Apr 2012 16:33:37 -0400,
Adam Jackson wrote:
> 
> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
>  include/drm/drm_edid.h |   26 ++++++++++++++++++++------
>  1 files changed, 20 insertions(+), 6 deletions(-)
> 
> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
> index bcb9a66..8cefbbe 100644
> --- a/include/drm/drm_edid.h
> +++ b/include/drm/drm_edid.h
> @@ -90,12 +90,26 @@ struct detailed_data_monitor_range {
>  	u8 min_hfreq_khz;
>  	u8 max_hfreq_khz;
>  	u8 pixel_clock_mhz; /* need to multiply by 10 */
> -	__le16 sec_gtf_toggle; /* A000=use above, 20=use below */
> -	u8 hfreq_start_khz; /* need to multiply by 2 */
> -	u8 c; /* need to divide by 2 */
> -	__le16 m;
> -	u8 k;
> -	u8 j; /* need to divide by 2 */
> +	u8 flags;
> +	union {
> +		struct {
> +			u8 reserved;
> +			u8 hfreq_start_khz; /* need to multiply by 2 */
> +			u8 c; /* need to divide by 2 */
> +			__le16 m;
> +			u8 k;
> +			u8 j; /* need to divide by 2 */
> +		} gtf2;
> +		struct {
> +			u8 version;
> +			u8 data1; /* high 6 bits: extra clock resolution */
> +			u8 data2; /* plus low 2 of above: max hactive */
> +			u8 supported_aspects;
> +			u8 flags; /* preferred aspect and blanking support */
> +			u8 supported_scalings;
> +			u8 preferred_refresh;
> +		} cvt;

These new structs must be marked with __attribute__((packed)) although
the struct detailed_data_monitor_range itself is already marked.  At
least, with gcc 4.6 and x86-64 here, they get unaligned.


thanks,

Takashi

> +	} formula;
>  } __attribute__((packed));
>  
>  struct detailed_data_wpindex {
> -- 
> 1.7.7.6
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux