From: Manasi Navare <manasi.d.navare@intel.com>
To: "Ser, Simon" <simon.ser@intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
"Latvala, Petri" <petri.latvala@intel.com>
Subject: Re: [igt-dev] [PATCH] lib/igt_kms.c igt_kms.h: tile property parser
Date: Tue, 30 Jul 2019 12:24:00 -0700 [thread overview]
Message-ID: <20190730192400.GB2736@intel.com> (raw)
In-Reply-To: <6a7512c12f04cb23827f6d19536409b2359a7eb7.camel@intel.com>
On Wed, Jul 17, 2019 at 11:24:33PM -0700, Ser, Simon wrote:
> Hi,
>
> Here are a few comments.
>
> On Wed, 2019-07-17 at 11:10 -0700, Madhumitha Tolakanahalli Pradeep wrote:
> > The tile property parser parses the connector tile property obtained
> > from connector's Display ID block and set per connector.
> >
> > Cc: Manasi Navare <manasi.d.navare@intel.com>
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Signed-off-by: Madhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep@intel.com>
> > ---
> > lib/igt_kms.c | 26 ++++++++++++++++++++++++++
> > lib/igt_kms.h | 11 +++++++++++
> > 2 files changed, 37 insertions(+)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index 175e71c3..846314de 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -4511,3 +4511,29 @@ bool igt_display_has_format_mod(igt_display_t *display, uint32_t format,
> >
> > return false;
> > }
> > +
> > +/**
> > + * igt_parse_connector_tile_blob:
> > + * @blob: pointer to the connector's tile properties
> > + * @tile: pointer to tile structure that is populated by the function
> > + *
> > + * Parses the connector tile blob to extract the tile information
> > + *
> > + */
> > +
> > +void igt_parse_connector_tile_blob(drmModePropertyBlobPtr blob,
> > + igt_tile_info_t * tile)
>
> Style: align with as many tabs as possible, then fill the rest with
> spaces.
>
> > +{
> > + char * blob_data = blob->data;
>
> Style: no space after star.
>
> char *thing = stuff;
>
> Applies to the whole patch.
>
> > + if(blob) {
>
> Style: space after if keyword.
>
> > + tile->tile_group_id = atoi(strtok(blob_data, ":"));
>
> This segfaults if the field doesn't exist. It would be nicer to
> igt_assert that strtok doesn't return NULL. Maybe with a wrapper
> function? e.g.
>
> static int parse_next_tile_field(char *data)
>
> Also this doesn't check for integer overflows, but not sure it's worth
> the hassle.
>
> > + tile->tile_is_single_monitor = atoi(strtok(NULL, ":"));
> > + tile->num_h_tile = atoi(strtok(NULL, ":"));
> > + tile->num_v_tile = atoi(strtok(NULL, ":"));
> > + tile->tile_h_loc = atoi(strtok(NULL, ":"));
> > + tile->tile_v_loc = atoi(strtok(NULL, ":"));
> > + tile->tile_h_size = atoi(strtok(NULL, ":"));
> > + tile->tile_v_size = atoi(strtok(NULL, ":"));
> > + }
> > +}
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index 0486737b..08483505 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -387,6 +387,14 @@ struct igt_display {
> > int format_mod_count;
> > };
> >
> > +typedef struct {
> > + int tile_group_id;
> > + bool tile_is_single_monitor;
> > + uint8_t num_h_tile, num_v_tile;
> > + uint8_t tile_h_loc, tile_v_loc;
> > + uint16_t tile_h_size, tile_v_size;
>
> I wouldn't repeat the tile_ prefix for all of these fields, it's
> already clear that it's about the tile from the type name.
The idea of using tile_ prefix is so that it aligns with the tile fields in the
kernel and these are the exact names that get printed in the dmesg so makes
it more intuitive if we stick to these names.
Manasi
>
> > +} igt_tile_info_t;
>
> I'm personally not a fan of typedefs, but it seems like the rest of IGT
> doesn't care, so it's probably fine.
>
> > void igt_display_require(igt_display_t *display, int drm_fd);
> > void igt_display_fini(igt_display_t *display);
> > void igt_display_reset(igt_display_t *display);
> > @@ -835,4 +843,7 @@ static inline bool igt_vblank_before(uint32_t a, uint32_t b)
> > return igt_vblank_after(b, a);
> > }
> >
> > +void igt_parse_connector_tile_blob(drmModePropertyBlobPtr blob,
> > + igt_tile_info_t * tile);
> > +
> > #endif /* __IGT_KMS_H__ */
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2019-07-30 19:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-17 18:10 [igt-dev] [PATCH] lib/igt_kms.c igt_kms.h: tile property parser Madhumitha Tolakanahalli Pradeep
2019-07-17 18:55 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-07-18 1:12 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-07-18 6:24 ` [igt-dev] [PATCH] " Ser, Simon
2019-07-30 19:24 ` Manasi Navare [this message]
2019-07-31 8:25 ` Ser, Simon
2019-07-31 0:51 ` Tolakanahalli Pradeep, Madhumitha
2019-07-31 11:25 ` Ser, Simon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190730192400.GB2736@intel.com \
--to=manasi.d.navare@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=petri.latvala@intel.com \
--cc=simon.ser@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox