From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Luca Tettamanti <kronos.it@gmail.com>
Cc: Jesse Barnes <jesse.barnes@intel.com>,
linux-kernel@vger.kernel.org,
James Simmons <jsimmons@pentafluge.infradead.org>,
Dave Airlie <airlied@gmail.com>,
"Antonino A. Daplas" <adaplas@gmail.com>,
dri-devel@lists.sourceforge.net
Subject: Re: [PATCH 2/3] drm modesetting core
Date: Thu, 17 May 2007 18:04:54 -0700 [thread overview]
Message-ID: <200705171804.54626.jbarnes@virtuousgeek.org> (raw)
In-Reply-To: <20070517234135.GA18012@dreamland.darkstar.lan>
On Thursday, May 17, 2007, Luca Tettamanti wrote:
> Il Thu, May 17, 2007 at 03:37:45PM -0700, Jesse Barnes ha scritto:
> > This patch adds the core of the new DRM based modesetting system.
>
> A couple of comments on drm_fb since I'm somewhat familiar with fb code:
> > new file mode 100644
> > index 0000000..0d06792
> > --- /dev/null
> > +++ b/linux-core/drm_edid.c
> > @@ -0,0 +1,467 @@
> > +/*
> > + * Copyright (c) 2007 Intel Corporation
> > + * Jesse Barnes <jesse.barnes@intel.com>
> > + *
> > + * DDC probing routines (drm_ddc_read & drm_do_probe_ddc_edid)
> > originally from
> > + * FB layer.
>
> Hum, why are you duplicating them here? fbmon.c has the
> infrastructure for parsing and even fixing known-broken EDIDs.
Yeah, there's more sharing that could be done... though I don't think the
fb layer has the bits to actually grab EDIDs. Also, DRM is shared with
BSD...
> > +static bool edid_valid(struct edid *edid)
> > +{
> > + int i;
> > + u8 csum = 0;
> > + u8 *raw_edid = (u8 *)edid;
> > +
> > + if (memcmp(edid->header, edid_header, sizeof(edid_header)))
> > + goto bad;
> > + if (edid->version != 1)
> > + goto bad;
> > + if (edid->revision <= 0 || edid->revision > 3)
> > + goto bad;
> > +
> > + for (i = 0; i < EDID_LENGTH; i++)
> > + csum += raw_edid[i];
> > + if (csum)
> > + goto bad;
> > +
> > + return 1;
> > +
> > +bad:
> > + return 0;
> > +}
>
> This is basically edid_check_header + edid_checksum.
Yep, pretty trivial stuff.
> get_detailed_timing?
>
> If you can't use 'struct fb_videomode' we may refactor code around a
> common data structure instead of a copy&paste.
I agree that would be better. I'll see what I can do to unify the two.
> > +static unsigned char *drm_do_probe_ddc_edid(struct i2c_adapter
> > *adapter)
>
> [...]
>
> > +static unsigned char *drm_ddc_read(struct i2c_adapter *adapter)
>
> [...]
>
> Copy and paste from fb_dcc.c; furthermore a fix in drm_ddc_read hasn't
> been backported to the original code.
I think the original tries a few times... but it's still buggy. I've got
an old EDID 1.1 monitor whose EDID block is fetched by X but not by this
code (or the original FB code) so I think we still have some timing bugs
to fix.
> > + info = framebuffer_alloc(sizeof(struct drmfb_par), device);
> > + if (!info){
> > + return -EINVAL;
> > + }
>
> -ENOMEM? Plus, spurious brackets.
Fixed, thanks.
> > + if (register_framebuffer(info) < 0)
> > + return -EINVAL;
>
> You leak the fb_info structure on error path.
Oops, I'll fix that too.
At this point though, the drm_fb driver isn't actually used. I recently
added the intel_fb driver (mostly using code from intelfb) so we could
have an accelerated DRM FB driver, hopefully that one's ok.
Thanks for looking at it.
Jesse
next prev parent reply other threads:[~2007-05-18 1:05 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-17 21:23 [RFC] enhancing the kernel's graphics subsystem Jesse Barnes
2007-05-17 22:32 ` [PATCH 1/3] allow console unregistration Jesse Barnes
2007-05-17 22:47 ` Jesse Barnes
2007-05-17 23:23 ` Antonino A. Daplas
2007-05-18 0:56 ` Jesse Barnes
2007-05-22 21:43 ` [PATCH 1/2] " Jesse Barnes
2007-05-23 0:49 ` Antonino A. Daplas
2007-05-22 21:44 ` [PATCH 2/2] make fbcon unregister when unloaded Jesse Barnes
2007-05-22 22:05 ` Randy Dunlap
2007-05-22 22:14 ` Jesse Barnes
2007-05-23 0:47 ` Antonino A. Daplas
2007-05-30 0:00 ` [PATCH 1/3] allow console unregistration Antonino A. Daplas
2007-05-30 6:26 ` Geert Uytterhoeven
2007-05-17 22:37 ` [PATCH 2/3] drm modesetting core Jesse Barnes
2007-05-17 22:48 ` Jesse Barnes
2007-05-17 23:41 ` Luca Tettamanti
2007-05-18 1:04 ` Jesse Barnes [this message]
2007-05-18 19:33 ` Luca Tettamanti
2007-05-18 21:06 ` Jesse Barnes
2007-05-17 22:40 ` [PATCH 3/3] Intel support for DRM modesetting Jesse Barnes
2007-05-17 22:48 ` Jesse Barnes
2007-05-20 17:42 ` [RFC] enhancing the kernel's graphics subsystem Jon Smirl
2007-05-20 23:10 ` Jesse Barnes
2007-05-21 0:47 ` Jon Smirl
2007-05-21 1:29 ` Jeff Garzik
2007-05-21 15:34 ` Jon Smirl
2007-05-21 16:15 ` Arjan van de Ven
2007-05-21 15:09 ` Jesse Barnes
2007-05-21 16:01 ` Jon Smirl
2007-05-21 16:14 ` Jesse Barnes
2007-05-21 16:34 ` Jesse Barnes
2007-05-21 17:05 ` Jon Smirl
2007-05-21 17:14 ` Dave Airlie
2007-05-21 17:29 ` Jon Smirl
2007-05-21 17:42 ` Jon Smirl
2007-05-21 17:47 ` Dave Airlie
2007-05-21 18:04 ` Jon Smirl
2007-05-21 18:44 ` Dave Airlie
2007-05-21 19:10 ` Jon Smirl
2007-05-21 19:20 ` Dave Airlie
2007-05-21 23:24 ` Jeff Garzik
2007-05-22 0:08 ` Jon Smirl
2007-05-22 0:20 ` Benjamin Herrenschmidt
2007-05-21 23:21 ` Jeff Garzik
2007-05-22 0:35 ` Alan Cox
2007-05-22 0:33 ` Jeff Garzik
2007-05-22 0:45 ` Jon Smirl
2007-05-22 0:56 ` Jon Smirl
2007-05-22 8:21 ` Dave Airlie
2007-05-22 8:07 ` Dave Airlie
2007-05-22 8:16 ` Jeff Garzik
2007-05-22 8:27 ` Dave Airlie
2007-05-22 16:06 ` Jon Smirl
2007-05-22 16:19 ` Alan Cox
2007-05-22 16:34 ` Jeff Garzik
2007-05-22 0:15 ` Benjamin Herrenschmidt
2007-05-21 17:32 ` Jesse Barnes
2007-05-21 23:18 ` Jeff Garzik
2007-05-22 0:26 ` Jon Smirl
2007-05-22 1:56 ` Jesse Barnes
2007-05-22 14:27 ` Jon Smirl
2007-05-22 14:35 ` Dave Airlie
2007-05-22 15:13 ` Jon Smirl
2007-05-22 17:25 ` Dave Airlie
2007-05-22 19:58 ` Jon Smirl
2007-05-28 20:12 ` Pavel Machek
2007-05-28 20:57 ` Jon Smirl
2007-05-29 14:26 ` Pavel Machek
2007-05-29 16:51 ` Jon Smirl
2007-05-22 14:54 ` Alan Cox
2007-05-22 15:16 ` Jon Smirl
2007-05-22 15:46 ` Jesse Barnes
2007-05-22 16:02 ` Jon Smirl
2007-05-22 16:14 ` Alan Cox
2007-05-22 16:15 ` Jesse Barnes
2007-05-22 16:32 ` Jon Smirl
2007-05-22 16:35 ` Jeff Garzik
2007-05-22 16:51 ` Jesse Barnes
2007-05-22 15:59 ` Matthew Garrett
2007-05-21 16:16 ` Dave Airlie
2007-05-21 8:27 ` Dave Airlie
2007-05-21 9:09 ` Helge Hafting
2007-05-21 9:27 ` Dave Airlie
2007-05-21 9:44 ` Helge Hafting
2007-05-21 15:57 ` Jesse Barnes
2007-05-21 16:07 ` Jon Smirl
2007-05-21 16:27 ` Dave Airlie
2007-05-21 16:50 ` Xavier Bestel
2007-05-22 0:09 ` Benjamin Herrenschmidt
2007-05-22 0:51 ` Keith Packard
2007-05-22 2:48 ` Benjamin Herrenschmidt
2007-05-22 15:39 ` Jesse Barnes
2007-05-22 23:26 ` Benjamin Herrenschmidt
2007-05-22 23:36 ` Jesse Barnes
2007-05-23 0:40 ` Antonino A. Daplas
2007-05-23 12:19 ` Helge Hafting
2007-05-22 16:29 ` Philipp Klaus Krause
2007-05-22 16:57 ` Jesse Barnes
2007-05-22 18:18 ` Dave Airlie
2007-05-22 2:56 ` l l
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=200705171804.54626.jbarnes@virtuousgeek.org \
--to=jbarnes@virtuousgeek.org \
--cc=adaplas@gmail.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.sourceforge.net \
--cc=jesse.barnes@intel.com \
--cc=jsimmons@pentafluge.infradead.org \
--cc=kronos.it@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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
Powered by JetHome