linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Mundt <lethal@linux-sh.org>
To: Heiko Schocher <hs@denx.de>
Cc: linuxppc-dev@lists.ozlabs.org, linux-fbdev@vger.kernel.org,
	devicetree-discuss@ozlabs.org, Ben Dooks <ben@simtec.co.uk>,
	Vincent Sanders <vince@simtec.co.uk>,
	Samuel Ortiz <sameo@linux.intel.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] video, sm501: add OF binding to support SM501
Date: Thu, 06 Jan 2011 04:47:02 +0000	[thread overview]
Message-ID: <20110106044702.GO23889@linux-sh.org> (raw)
In-Reply-To: <1292049075-1809-1-git-send-email-hs@denx.de>

On Sat, Dec 11, 2010 at 07:31:15AM +0100, Heiko Schocher wrote:
> - add binding to OF, compatible name "smi,sm501"
> 
> - add read/write functions for using this driver
>   also on powerpc plattforms
> 
> - add commandline options:
>   sm501.fb_mode:
>     Specify resolution as "<xres>x<yres>[-<bpp>][@<refresh>]"
>   sm501.bpp:
>     Specify bit-per-pixel if not specified mode
> 
> - Add support for encoding display mode information
>   in the device tree using verbatim EDID block.
> 
>   If the "edid" entry in the "smi,sm501" node is present,
>   the driver will build mode database using EDID data
>   and allow setting the display modes from this database.
> 
> Signed-off-by: Heiko Schocher <hs@denx.de>
> cc: linux-fbdev@vger.kernel.org
> cc: devicetree-discuss@ozlabs.org
> cc: Ben Dooks <ben@simtec.co.uk>
> cc: Vincent Sanders <vince@simtec.co.uk>
> cc: Samuel Ortiz <sameo@linux.intel.com>
> cc: linux-kernel@vger.kernel.org
> 
> ---
> - changes since v1:
>   add Ben Dooks, Vincent Sanders and Samuel Ortiz to cc, as suggested from
>   Paul Mundt.
> 
>  Documentation/kernel-parameters.txt          |    7 +
>  Documentation/powerpc/dts-bindings/sm501.txt |   30 +++
>  drivers/mfd/sm501.c                          |  141 ++++++++------
>  drivers/video/sm501fb.c                      |  264 +++++++++++++++++---------
>  include/linux/sm501.h                        |    8 +
>  5 files changed, 299 insertions(+), 151 deletions(-)
>  create mode 100644 Documentation/powerpc/dts-bindings/sm501.txt
> 
So has this stalled out? If Samuel wants to ack the MFD bits I don't mind
taking it through the fbdev tree. I can dust off an SM501 board to make
sure it still works for the non-OF case, although most of the changes
look fairly mechanical, so I don't forsee too much difficulty.

A few minor notes however. For starters, it would be nice to see this
patch split out a bit more logically. All of the items in your changelog
are more or less independent logical changes, and should really be
independent patches. As such, I'd like to see the EDID support as one
patch, the OF binding support layered on top of that, the documentation
split out as a trivial patch, and the I/O routine thing dealt with
separately. This should also make it easier for Samuel to simply ack the
OF bindings part that touch the MFD driver without having to be bothered
with any of the other stuff should regressions pop up at a later point in
time via a bisection.

As far as the DTS bindings documentation goes, I'm not sure what the best
way to split that out is. Perhaps simply lumping it in with the OF
bindings makes the most logical sense, and it's obviously a dependency
for the architecture-specific portion as well.

> @@ -1698,6 +1727,9 @@ static int sm501fb_init_fb(struct fb_info *fb,
>  	fb->fbops = &par->ops;
>  	fb->flags = FBINFO_FLAG_DEFAULT | FBINFO_READS_FAST |
>  		FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT |
> +#if defined(CONFIG_PPC_MPC52xx)
> +		FBINFO_FOREIGN_ENDIAN |
> +#endif
>  		FBINFO_HWACCEL_XPAN | FBINFO_HWACCEL_YPAN;
>  
>  	/* fixed data */

This is now getting in to deep hack territory. It's also not entirely
obvious how you expect things like the imageblit op to work given that
you're not selecting any of FB_{BIG,LITTLE,BOTH,FOREIGN}_ENDIAN, which
leads me to suspect you are manually doing this in your .config in a
relatively fragile way.

In the OF case I suppose you probably want something like:

#ifdef __BIG_ENDIAN
        if (of_get_property(dp, "little-endian", NULL))
                foreign_endian = FBINFO_FOREIGN_ENDIAN;
#else
        if (of_get_property(dp, "big-endian", NULL))
                foreign_endian = FBINFO_FOREIGN_ENDIAN;
#endif

and then simply hide the details in the DTS file in order to get rid of
CPU-specific hacks.

> +#if defined(CONFIG_PPC_MPC52xx)
> +#define smc501_readl(addr)	__do_readl_be((addr))
> +#define smc501_writel(val, addr)	__do_writel_be((val), (addr))
> +#else
> +#define smc501_readl(addr)		readl(addr)
> +#define smc501_writel(val, addr)	writel(val, addr)
> +#endif

Based on the Kconfig option for endianness you could probably just wrap these
to ioread/write32{,be} and hide the semantics in your iomap implementation?

  parent reply	other threads:[~2011-01-06  4:47 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-04  8:23 [PATCH 1/2] video, sm501: add OF binding to support SM501 Heiko Schocher
2010-12-04  8:23 ` [PATCH 2/2] powerpc, video: add SM501 support for charon board Heiko Schocher
     [not found]   ` <1291451028-22532-2-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
2010-12-07  6:59     ` [PATCH 2/2 v2] " Heiko Schocher
2010-12-11  6:31   ` [PATCH v3 2/2] " Heiko Schocher
2011-01-24  9:57   ` [PATCH 4/4 v4] " Heiko Schocher
2011-01-25  6:45   ` [PATCH 4/4 v5] " Heiko Schocher
     [not found]     ` <1295937946-26934-1-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
2011-01-25  6:49       ` Paul Mundt
     [not found]         ` <20110125064949.GF11673-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2011-01-25  7:07           ` Heiko Schocher
2010-12-08  5:36 ` [PATCH 1/2] video, sm501: add OF binding to support SM501 Paul Mundt
2010-12-09  6:49   ` Heiko Schocher
2010-12-09 15:03     ` Samuel Ortiz
2010-12-11  6:31 ` [PATCH v2 " Heiko Schocher
2010-12-11 22:34   ` Randy Dunlap
2010-12-13  7:01     ` Heiko Schocher
2011-01-06  4:47   ` Paul Mundt [this message]
     [not found] ` <1291451028-22532-1-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
2011-01-24  9:57   ` [PATCH 1/4 v4] video, sm501: add I/O functions for use on powerpc Heiko Schocher
2011-01-31 10:50     ` [PATCH 1/4 v4] video, sm501: add I/O functions for use on Samuel Ortiz
2011-03-22  8:27   ` [PATCH v6 0/6] powerpc, 52xx: add charon board support Heiko Schocher
2011-03-22  8:27     ` [PATCH v1 1/6] powerpc, 5200: add support for charon board Heiko Schocher
2011-03-22  9:06       ` Wolfram Sang
2011-03-22  8:27     ` [PATCH v6 2/6] video, sm501: add I/O functions for use on powerpc Heiko Schocher
     [not found]       ` <1300782452-528-3-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
2011-05-02 22:24         ` Grant Likely
     [not found]     ` <1300782452-528-1-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
2011-03-22  8:27       ` [PATCH v6 3/6] video, sm501: add edid and commandline support Heiko Schocher
     [not found]         ` <1300782452-528-4-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
2011-05-02 22:27           ` Grant Likely
2011-05-02 22:37             ` Grant Likely
2011-05-03  5:27               ` Heiko Schocher
2011-05-03  5:43                 ` Grant Likely
2011-03-22  8:27       ` [PATCH v6 6/6] powerpc, tqm5200: update tqm5200_defconfig to fit for charon board Heiko Schocher
2011-03-22  9:10         ` [PATCH v6 6/6] powerpc, tqm5200: update tqm5200_defconfig to Wolfram Sang
2011-05-02 22:31           ` [PATCH v6 6/6] powerpc, tqm5200: update tqm5200_defconfig to fit Grant Likely
2011-03-22  8:27     ` [PATCH v6 4/6] video, sm501: add OF binding to support SM501 Heiko Schocher
2011-05-02 22:28       ` Grant Likely
2011-03-22  8:27     ` [PATCH v6 5/6] powerpc, video: add SM501 support for charon board Heiko Schocher
2011-03-22 20:58     ` [PATCH v6 0/6] powerpc, 52xx: add charon board support Grant Likely
2011-05-02 22:14     ` Grant Likely
2011-05-03  5:17       ` Heiko Schocher
2011-05-03  5:42         ` Grant Likely
2011-05-03  7:24           ` Heiko Schocher
2011-05-03 13:22             ` Grant Likely
2011-01-24  9:57 ` [PATCH 2/4 v4] video, sm501: add edid and commandline support Heiko Schocher
     [not found]   ` <1295863047-11131-1-git-send-email-hs-ynQEQJNshbs@public.gmane.org>
2011-01-25  7:51     ` Paul Mundt
     [not found]       ` <20110125075104.GJ11673-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2011-01-25  8:04         ` Heiko Schocher
2011-01-24  9:57 ` [PATCH 3/4 v4] video, sm501: add OF binding to support SM501 Heiko Schocher
2011-01-25  6:38   ` Paul Mundt
2011-01-31 10:52   ` Samuel Ortiz
2011-01-25  7:20 ` Heiko Schocher
2011-01-25  7:48   ` Paul Mundt
     [not found]     ` <20110125074820.GI11673-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2011-01-25  8:02       ` Heiko Schocher
2011-01-26  7:21 ` [PATCH 2/4 v5] video, sm501: add edid and commandline support Heiko Schocher
2011-01-26  7:21 ` [PATCH 3/4 v5] video, sm501: add OF binding to support SM501 Heiko Schocher
2011-03-15  7:26   ` Heiko Schocher
2011-03-16 15:36     ` Paul Mundt
     [not found]       ` <20110316153601.GA13315-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2011-03-17  6:12         ` Heiko Schocher
2011-03-22  8:20           ` Paul Mundt
     [not found]             ` <20110322082047.GG25925-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2011-03-22  8:25               ` Heiko Schocher
2011-02-06 23:45 ` [PATCH 1/2] " Benjamin Herrenschmidt

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=20110106044702.GO23889@linux-sh.org \
    --to=lethal@linux-sh.org \
    --cc=ben@simtec.co.uk \
    --cc=devicetree-discuss@ozlabs.org \
    --cc=hs@denx.de \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=sameo@linux.intel.com \
    --cc=vince@simtec.co.uk \
    /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;
as well as URLs for NNTP newsgroup(s).