Thanks for the comments. Fixed most of the issues with the earlier patch. 
Sending out a 
new one. Comments inline below.

> -----Original Message-----
> From: Adam Jackson [mailto:ajax at redhat.com]
> Sent: Tuesday, December 13, 2011 9:51 PM
> To: Kavuri, Sateesh
> Cc: dri-devel at lists.freedesktop.org
> Subject: Re: [PATCH] drm: Enable reading 3D capabilities of 3D monitor
> 
> On Fri, 2011-12-09 at 11:46 +0000, Kavuri, Sateesh wrote:
> 
> > +                   if ((multi_val == STRUCTURE_PRESENT) ||
> > +                           (multi_val == STRUCTURE_MASK_PRESENT) ) {
> > +                           if ((edid_ext[i+15+hdmi_vic_len] & 0x01) ==
> 0x01)
> > +                                   caps->format |= 0x0; /*
> FRAME_PACKING */
> > +                           if ((edid_ext[i+15+hdmi_vic_len] & 0x02) ==
> 0x02)
> > +                                   caps->format |= 0x1;
> /*FIELD_ALTERNATIVE */
> > +                           if ((edid_ext[i+15+hdmi_vic_len] & 0x04) ==
> 0x04)
> > +                                   caps->format |= 0x2; /*
> LINE_ALTERNATIVE */
> > +                           if ((edid_ext[i+15+hdmi_vic_len] & 0x08) ==
> 0x08)
> > +                                   caps->format |= 0x3;
> /*SIDE_BY_SIDE_FULL */
> > +                           if ((edid_ext[i+15+hdmi_vic_len] & 0x10) ==
> 0x10)
> > +                                   caps->format |= 0x4; /* L_DEPTH */
> > +                           if ((edid_ext[i+15+hdmi_vic_len] & 0x20) ==
> 0x20)
> > +                                   caps->format |= 0x5; /*
> L_DEPTH_GFX_GFX_DEPTH */
> > +                           if ((edid_ext[i+15+hdmi_vic_len] & 0x40) ==
> 0x40)
> > +                                   caps->format |= 0x6; /* TOP_BOTTOM */
> > +                           if ((edid_ext[i+14+hdmi_vic_len] & 0x01) ==
> 0x01)
> > +                                   caps->format |= 0x7; /* S_BY_S_HALF */
> > +                           if ((edid_ext[i+14+hdmi_vic_len] & 0x80) ==
> 0x80)
> > +                                   caps->format |= 0x8; /*
> S_BY_S_HALF_QUINCUNX */
> > +                   }
> 
> This reads poorly, which makes me think it's wrong.  Is format supposed to be 
> a
> bitfield or an enum?
> 
> > +EXPORT_SYMBOL(drm_detect_3D_monitor);
> 
> I suspect this is poorly named.  There exist 3D displays which are not HDMI.

I want to integrate the other interfaces (eDP, DP, MIPI) panel detection in 
this method
itself. Started off with implementing the HDMI part. 

> 
> > +#define VSIF_RESET_INDEX 0xFFFFFFF8
> > +#define VSIF_RESET_BIT_22 0xFFBFFFFF
> > +#define VSIF_SET_BIT_19 0x80000
> > +#define VSIF_RESET_BIT_20 0xFFEFFFFF
> > +#define VSIF_RESET_BIT_17 0x10000
> > +#define VSIF_SET_BIT_16 0xFFFDFFFF
> > +#define VSIF_SET_MASTER_BIT 0x400000
> 
> i915 style is usually to write these as (1 << 22) I think.

These I have fixed. Patch with these fixes below.

> 
> More importantly, use semantic names for register contents.  "Bit 17"
> doesn't mean anything.
> 
> > diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index
> > 8020798..5b4d09c 100644
> > --- a/include/drm/drm_crtc.h
> > +++ b/include/drm/drm_crtc.h
> > @@ -798,6 +798,8 @@ extern int drm_mode_gamma_set_ioctl(struct
> > drm_device *dev,  extern u8 *drm_find_cea_extension(struct edid
> > *edid);  extern bool drm_detect_hdmi_monitor(struct edid *edid);
> > extern bool drm_detect_monitor_audio(struct edid *edid);
> > +extern bool drm_detect_3D_monitor(struct edid *edid); //extern struct
> > +panel_3d_caps* drm_detect_3D_monitor(struct edid *edid);
> 
> Well, which is it?
> 
> > +enum s3d_formats {
> > +   FRAME_PACKING           = 0x0,
> > +   FIELD_ALTERNATIVE       = 0x1,
> > +   LINE_ALTERNATIVE        = 0x2,
> > +   SIDE_BY_SIDE_FULL       = 0x3,
> > +   L_DEPTH                 = 0x4,
> > +   L_DEPTH_GFX_GFX_DEPTH   = 0x5,
> > +   TOP_BOTTOM              = 0x6, /* 0x7 is reserved for future */
> > +   SIDE_BY_SIDE_HALF       = 0x8  /* 0x9 onwards is reserved for future */
> > +};
> 
> If format is supposed to be an enum, why aren't you using these symbolic
> values?

I fixed the part to use a u16 integer value to represent the format.

> 
> - ajax


================

Reply via email to