[Linux-gfx] Re: [PATCH 1/5] handle extenion for detail timing block
Ma, Ling
ling.ma at intel.com
Wed Nov 19 05:46:34 PST 2008
hi ajax
>This just walks over the base block, walking from 0 to (det_mon_num-1)
>is wrong since det_mon_num will count detailed blocks found in
>extension
>blocks. Should just drop the changes to this function.
sorry, I don't understand your meaning clearly. I modified get_dt_md_section to fill detailed timing block in GetCEADEtailTiming.
In fact det_mon_num passed to get_dt_md_section in GetCEADEtailTiming always be 1.
+static int GetCEADetailTiming(Uchar *blk, xf86MonPtr mon,
+ struct detailed_monitor_section *det_mon)
+
+{
+ int det_mon_num;
+ int dt_offset = ((struct cea_ext_body *)blk)->dt_offset;
+
+ det_mon_num = 0;
+
+ if (dt_offset < CEA_EXT_MIN_DATA_OFFSET)
+ return det_mon_num;
+
+ while (dt_offset < (CEA_EXT_MAX_DATA_OFFSET - DET_TIMING_INFO_LEN) &&
+ det_mon_num < CEA_EXT_DET_TIMING_NUM) {
+ get_dt_md_section(blk + dt_offset, &mon->ver,
+ det_mon + det_mon_num, 1);
+
+ det_mon_num = det_mon_num + 1 ;
+
+ _NEXT_DT_MD_SECTION(dt_offset);
+ }
+
+ return det_mon_num;
+}
+
Thanks
Ma Ling
>-----Original Message-----
>From: linux-gfx-bounces at linux.intel.com
>[mailto:linux-gfx-bounces at linux.intel.com] On Behalf Of Adam Jackson
>Sent: 2008年11月19日 4:44
>To: Ma, Ling
>Cc: linux-gfx at linux.intel.com; xorg at lists.freedesktop.org
>Subject: [Linux-gfx] Re: [PATCH 1/5] handle extenion for
>detail timing block
>
>On Mon, 2008-11-17 at 16:33 +0800, ling.ma at intel.com wrote:
>> From: MaLing<ling.ma at intel.com>
>
>> +struct hdmi {
>> + Uchar Support_flags;
>> + Uchar Max_TMDS_Clock;
>> + Uchar Latency_Present;
>> + Uchar Video_Latency;
>> + Uchar Audio_Latency;
>> + Uchar Interlaced_Video_Latency;
>> + Uchar Interlaced_Audio_Latency;
>> +};
>
>Please, CamelCase or underscore_separated_names, but Not_Both.
>
>> @@ -286,11 +381,11 @@ get_std_timing_section(Uchar *c,
>struct std_timings *r,
>>
>> static void
>> get_dt_md_section(Uchar *c, struct edid_version *ver,
>> - struct detailed_monitor_section *det_mon)
>> + struct detailed_monitor_section *det_mon,
>int det_mon_num)
>> {
>> int i;
>>
>> - for (i=0;i<DET_TIMINGS;i++) {
>> + for (i=0;i<det_mon_num;i++) {
>> if (ver->version == 1 && ver->revision >= 1 &&
>IS_MONITOR_DESC) {
>>
>> switch (MONITOR_DESC_TYPE) {
>
>This just walks over the base block, walking from 0 to (det_mon_num-1)
>is wrong since det_mon_num will count detailed blocks found in
>extension
>blocks. Should just drop the changes to this function.
>
>- ajax
>
More information about the xorg
mailing list