All of lore.kernel.org
 help / color / mirror / Atom feed
From: Teresa Remmet <t.remmet@phytec.de>
To: Bastian Stender <bst@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH] commands: mmc_extcsd: Add support to write multibyte registers
Date: Thu, 07 Jun 2018 10:16:40 +0200	[thread overview]
Message-ID: <1528359400.7592.1.camel@phytec.de> (raw)
In-Reply-To: <3b71243d-a672-e895-c30d-974b7f50922d@pengutronix.de>

Hello Bastian,

Am Donnerstag, den 07.06.2018, 10:11 +0200 schrieb Bastian Stender:
> Hi Teresa,
> 
> On 06/04/2018 02:47 PM, Teresa Remmet wrote:
> > 
> > It has been possible to write only the first byte of a multibyte
> > register.
> > Updated the command to write the complete value of a multibyte
> > register at once.
> > 
> > Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
> > ---
> >   commands/mmc_extcsd.c | 44 +++++++++++++++++++++++++++-----------
> > ------
> >   1 file changed, 27 insertions(+), 17 deletions(-)
> > 
> > diff --git a/commands/mmc_extcsd.c b/commands/mmc_extcsd.c
> > index acd23a466bcb..a5af97fbbaf1 100644
> > --- a/commands/mmc_extcsd.c
> > +++ b/commands/mmc_extcsd.c
> > @@ -2306,10 +2306,8 @@ static int request_write_operation(void)
> >   	return 0;
> >   }
> >   
> > -static void write_field(struct mci *mci, u8 *reg, u16 index, u8
> > value,
> > -				int always_write)
> > +int request_one_time_programmable(u16 index)
> Why do you remove "static" here?

this was not on purpose. I will send an v2. 
Thank you.

Teresa

> 
> > 
> >   {
> > -
> >   	switch (index) {
> >   	case EXT_CSD_BOOT_CONFIG_PROT:
> >   	case EXT_CSD_BOOT_WP:
> > @@ -2349,18 +2347,15 @@ static void write_field(struct mci *mci, u8
> > *reg, u16 index, u8 value,
> >   	case 52:
> >   	case EXT_CSD_BARRIER_CTRL:
> >   	case EXT_CSD_SECURE_REMOVAL_TYPE:
> > -		if (!always_write)
> > -			if (request_write_operation() == 0) {
> > -				printf("Abort write
> > operation!\n");
> > -				goto out;
> > -			}
> > -		break;
> > +		if (request_write_operation() == 0) {
> > +			printf("Abort write operation!\n");
> > +			return 1;
> > +		} else {
> > +			return 0;
> > +		}
> >   	}
> >   
> > -	mci_switch(mci, index, value);
> > -
> > -out:
> > -	return;
> > +	return 0;
> >   }
> >   
> >   static int do_mmc_extcsd(int argc, char *argv[])
> > @@ -2430,11 +2425,26 @@ static int do_mmc_extcsd(int argc, char
> > *argv[])
> >   		if (!print_field(dst, index)) {
> >   			printf("No field with this index found.
> > Abort write operation!\n");
> >   		} else {
> > -			write_field(mci, dst, index, value,
> > always_write);
> > +			struct extcsd_reg *ext;
> > +			int i;
> > +			int val = 0;
> > +
> > +			if (!always_write) {
> > +				retval =
> > request_one_time_programmable(index);
> > +				if (retval)
> > +					goto error_with_mem;
> > +			}
> > +
> > +			ext = &extcsd[index];
> > +			for (i = 0; i < ext->width; i++) {
> > +				val = (value >> (i * 8)) & 0xFF;
> > +
> > +				mci_switch(mci, index + i, val);
> > +				retval = mci_send_ext_csd(mci,
> > dst);
> > +				if (retval != 0)
> > +					goto error_with_mem;
> > +			}
> >   			printf("\nValue written!\n\n");
> > -			retval = mci_send_ext_csd(mci, dst);
> > -			if (retval != 0)
> > -				goto error_with_mem;
> >   			print_field(dst, index);
> >   		}
> >   	else
> > 
> Everything else looks good to me.
> 
> Regards,
> Bastian
> 

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

      reply	other threads:[~2018-06-07  8:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-04 12:47 [PATCH] commands: mmc_extcsd: Add support to write multibyte registers Teresa Remmet
2018-06-07  8:11 ` Bastian Stender
2018-06-07  8:16   ` Teresa Remmet [this message]

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=1528359400.7592.1.camel@phytec.de \
    --to=t.remmet@phytec.de \
    --cc=barebox@lists.infradead.org \
    --cc=bst@pengutronix.de \
    /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.