All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Parker Newman <pnewman@connecttech.com>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-serial <linux-serial@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>
Subject: Re: [PATCH v1 11/13] serial: 8250_exar: Use BIT() in exar_ee_read()
Date: Thu, 2 May 2024 20:20:01 +0300	[thread overview]
Message-ID: <ZjPLQeTEKvt7B3mj@smile.fi.intel.com> (raw)
In-Reply-To: <702a9145-5bc1-c765-a1fa-278702741637@linux.intel.com>

On Thu, May 02, 2024 at 07:08:21PM +0300, Ilpo Järvinen wrote:
> On Thu, 2 May 2024, Andy Shevchenko wrote:

...

> >  	// Send address to read from
> > -	for (i = 1 << (UART_EXAR_REGB_EE_ADDR_SIZE - 1); i; i >>= 1)
> > -		exar_ee_write_bit(priv, (ee_addr & i));
> > +	for (i = UART_EXAR_REGB_EE_ADDR_SIZE - 1; i >= 0; i--)
> > +		exar_ee_write_bit(priv, ee_addr & BIT(i));
> >  
> >  	// Read data 1 bit at a time
> >  	for (i = 0; i <= UART_EXAR_REGB_EE_DATA_SIZE; i++) {
> > -		data <<= 1;
> > -		data |= exar_ee_read_bit(priv);
> > +		if (exar_ee_read_bit(priv))
> > +			data |= BIT(i);
> 
> Does this end up reversing the order of bits? In the original, data was left
> shifted which moved the existing bits and added the lsb but the replacement
> adds highest bit on each iteration?

Oh, seems a good catch!

I was also wondering, but missed this somehow. Seems the EEPROM is in BE mode,
so two loops has to be aligned.

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2024-05-02 17:20 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-02 14:43 [PATCH v1 00/13] serial: 8250_exar: Clean up the driver Andy Shevchenko
2024-05-02 14:43 ` [PATCH v1 01/13] serial: 8250_exar: Don't return positive values as error codes Andy Shevchenko
2024-05-02 14:43 ` [PATCH v1 02/13] serial: 8250_exar: Describe all parameters in kernel doc Andy Shevchenko
2024-05-02 14:43 ` [PATCH v1 03/13] serial: 8250_exar: Kill CTI_PCI_DEVICE() Andy Shevchenko
2024-05-02 15:13   ` Parker Newman
2024-05-02 15:29     ` Andy Shevchenko
2024-05-02 15:36       ` Parker Newman
2024-05-02 15:43         ` Andy Shevchenko
2024-05-02 15:54           ` Parker Newman
2024-05-02 15:59             ` Andy Shevchenko
2024-05-02 14:43 ` [PATCH v1 04/13] serial: 8250_exar: Use PCI_SUBVENDOR_ID_IBM for subvendor ID Andy Shevchenko
2024-05-02 14:43 ` [PATCH v1 05/13] serial: 8250_exar: Trivia typo fixes Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 06/13] serial: 8250_exar: Extract cti_board_init_osc_freq() helper Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 07/13] serial: 8250_exar: Kill unneeded ->board_init() Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 08/13] serial: 8250_exar: Decrease indentation level Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 09/13] serial: 8250_exar: Return directly from switch-cases Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 10/13] serial: 8250_exar: Switch to use dev_err_probe() Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 11/13] serial: 8250_exar: Use BIT() in exar_ee_read() Andy Shevchenko
2024-05-02 16:08   ` Ilpo Järvinen
2024-05-02 17:20     ` Andy Shevchenko [this message]
2024-05-03 14:26       ` Parker Newman
2024-05-03 15:35         ` Andy Shevchenko
2024-05-03 18:56           ` Parker Newman
2024-05-06  8:37             ` Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 12/13] serial: 8250_exar: Make type of bit the same in exar_ee_*_bit() Andy Shevchenko
2024-05-02 14:44 ` [PATCH v1 13/13] serial: 8250_exar: Keep the includes sorted Andy Shevchenko
2024-05-02 15:46 ` [PATCH v1 00/13] serial: 8250_exar: Clean up the driver Parker Newman
2024-05-02 16:01   ` Andy Shevchenko
2024-05-02 16:08     ` Parker Newman
2024-05-02 17:22       ` Andy Shevchenko
2024-05-02 17:49         ` Parker Newman
2024-05-02 18:01           ` Andy Shevchenko
2024-05-03 12:36             ` Parker Newman
2024-05-03 14:47               ` Parker Newman
2024-05-03 15:33                 ` Andy Shevchenko

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=ZjPLQeTEKvt7B3mj@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=pnewman@connecttech.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 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.