All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shinya Kuribayashi <skuribay-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
To: dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	alan.cox-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	shinya.kuribayashi.px-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org,
	ben-i2c-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org,
	jean-hugues.deschenes-YGVykHU+fedBDgjK7y7TUQ@public.gmane.org,
	khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org
Subject: Re: [PATCH 01/10] i2c-designware: Allow mixed endianness accesses
Date: Thu, 10 Feb 2011 00:34:54 +0900	[thread overview]
Message-ID: <4D52B41E.5040006@pobox.com> (raw)
In-Reply-To: <1296699608-13227-2-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

On 02/03/2011 11:19 AM, dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:
> @@ -283,13 +305,27 @@ static u32 i2c_dw_scl_lcnt(u32 ic_clk, u32 tLOW, u32 tf, int offset)
>   * This function is called during I2C init function, and in case of timeout at
>   * run time.
>   */
> -static void i2c_dw_init(struct dw_i2c_dev *dev)
> +static int i2c_dw_init(struct dw_i2c_dev *dev)
>  {
>  	u32 input_clock_khz = clk_get_rate(dev->clk) / 1000;
>  	u32 ic_con, hcnt, lcnt;
> +	u32 reg;
> +
> +	/* Configure register endianess access */
> +	reg = dw_readl(dev, DW_IC_COMP_TYPE);
> +	if (reg == ___constant_swab32(DW_IC_COMP_TYPE_VALUE)) {
> +		dev->swab = 1;
> +		reg = ___constant_swab32(DW_IC_COMP_TYPE_VALUE);
> +	}
> +
> +	if (reg != DW_IC_COMP_TYPE_VALUE) {
> +		dev_err(dev->dev, "Unknown Synopsys component type: "
> +			"0x%08x\n", reg);
> +		return -ENODEV;
> +	}

In the original Jean's patch, this 'swab' detection was done early in
dw_i2c_probe() funtion, but this patch moved it to i2c_dw_init(), and
therefore the function prototype of i2c_dw_init() also changed.

I agree with that change itself, so let's make it a separate patch.

- it would be nice that such hardware probing/initialization routines
  are consolidated in one place,

- swab detection using the IC_COMP_TYPE register must be performed
  prior to any other register accesses,

- i2c_dw_init() function prototype is also changed to notify
  dw_i2c_probe() of "Unknown Synopsys component type" error.

  Shinya

  parent reply	other threads:[~2011-02-09 15:34 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-03  2:19 [PATCH 00/10] Split i2c-designware.c to support PCI drivers dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
     [not found] ` <1296699608-13227-1-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-03  2:19   ` [PATCH 01/10] i2c-designware: Allow mixed endianness accesses dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
     [not found]     ` <1296699608-13227-2-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-04  4:05       ` Shinya Kuribayashi
     [not found]         ` <4D4B7B23.9010705-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2011-02-05 17:39           ` Ben Dooks
     [not found]             ` <20110205173935.GG15795-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2011-02-08 15:52               ` Dirk Brandewie
2011-02-09 15:34       ` Shinya Kuribayashi [this message]
2011-02-09 15:42       ` Shinya Kuribayashi
2011-02-03  2:20   ` [PATCH 02/10] i2c-designware: split of i2c-designware.c into core and bus specific parts dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
     [not found]     ` <1296699608-13227-3-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-04  4:23       ` Shinya Kuribayashi
2011-02-05 17:45       ` Ben Dooks
     [not found]         ` <20110205174507.GH15795-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2011-02-08 16:20           ` Dirk Brandewie
     [not found]             ` <4D516D48.6000104-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-09  0:59               ` Shinya Kuribayashi
2011-02-03  2:20   ` [PATCH 03/10] i2c-designware: retrieve clock frequency based CONFIG_HAVE_CLK dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
     [not found]     ` <1296699608-13227-4-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-04  4:28       ` Shinya Kuribayashi
2011-02-05 17:46       ` Ben Dooks
     [not found]         ` <20110205174636.GI15795-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2011-02-08 16:00           ` Dirk Brandewie
2011-02-03  2:20   ` [PATCH 04/10] i2c-designware: Add support for Designware core behind PCI devices dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
     [not found]     ` <1296699608-13227-5-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-05 17:50       ` Ben Dooks
2011-02-03  2:20   ` [PATCH 05/10] i2c-designware: move i2c functionality bit field to be adapter specific dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-03  2:20   ` [PATCH 06/10] i2c-designware: move controller config to bus specific portion of driver dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-03  2:20   ` [PATCH 07/10] i2c-designware: Support multiple cores using same ISR dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-03  2:20   ` [PATCH 08/10] i2c-designware: Push all register reads/writes into the core code dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-03  2:20   ` [PATCH 09/10] i2c-designware: Add runtime power management support dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-02-03  2:20   ` [PATCH 10/10] i2c-intel-mid.c: Remove i2c-intel-mid.c dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w

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=4D52B41E.5040006@pobox.com \
    --to=skuribay-e+axbwqsrlaavxtiumwx3w@public.gmane.org \
    --cc=alan.cox-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=ben-i2c-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
    --cc=dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=jean-hugues.deschenes-YGVykHU+fedBDgjK7y7TUQ@public.gmane.org \
    --cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=shinya.kuribayashi.px-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.