All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Georgios Tsotsos <tsotsos@gmail.com>
Cc: devel@driverdev.osuosl.org, James Hogan <jhogan@kernel.org>,
	linux-kernel@vger.kernel.org,
	Aaro Koskinen <aaro.koskinen@iki.fi>
Subject: Re: [PATCH v3 1/1] Staging: octeon-usb: Breaks down cvmx_usb_poll_channel().
Date: Sun, 29 Jul 2018 14:43:20 +0200	[thread overview]
Message-ID: <20180729124320.GA27275@kroah.com> (raw)
In-Reply-To: <81f71a7c1997e53ec97f2b90ae562ff361a46f42.1532864059.git.tsotsos@gmail.com>

On Sun, Jul 29, 2018 at 02:41:53PM +0300, Georgios Tsotsos wrote:
> In order to make this function more clear a new function created that controls
> channels halt on no DMA mode.
> 
> Signed-off-by: Georgios Tsotsos <tsotsos@gmail.com>
> ---
>  drivers/staging/octeon-usb/octeon-hcd.c | 81 +++++++++++++++++++++------------
>  1 file changed, 53 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/staging/octeon-usb/octeon-hcd.c b/drivers/staging/octeon-usb/octeon-hcd.c
> index 8a7bdf1a9fe6..3f44ac260eff 100644
> --- a/drivers/staging/octeon-usb/octeon-hcd.c
> +++ b/drivers/staging/octeon-usb/octeon-hcd.c
> @@ -2593,7 +2593,51 @@ static void cvmx_usb_transfer_isoc(struct octeon_hcd *usb,
>  		cvmx_usb_complete(usb, pipe, transaction, CVMX_USB_STATUS_OK);
>  	}
>  }
> +/**

Blank line between functions please.

Also, as this is not a global function, no need for kerneldoc
formatting, but you did it already, so no big deal.

> + * Handles channels halt in non DMA mode
> + * @hcchar_chena:
> + * @hcint_xfercompl:
> + * @usb:             USB device
> + * @channel:         Channel to poll
> + *
> + * In non DMA mode the channels don't halt themselves. We need
> + * to manually disable channels that are left running
> + *
> + * Returns: -1 on halt
> + */
> +static int cvmx_usb_dma_halt(u32 hcchar_chena, u32 hcint_xfercompl,
> +			     struct octeon_hcd *usb, int channel)
> +{
> +	struct usb_hcd *hcd = octeon_to_hcd(usb);
> +	struct device *dev = hcd->self.controller;
>  
> +	if (hcchar_chena) {
> +		union cvmx_usbcx_hcintmskx hcintmsk;
> +		union cvmx_usbcx_hccharx usbc_hcchar;
> +		/* Disable all interrupts except CHHLTD */
> +		hcintmsk.u32 = 0;
> +		hcintmsk.s.chhltdmsk = 1;
> +		cvmx_usb_write_csr32(usb,
> +				     CVMX_USBCX_HCINTMSKX(channel, usb->index),
> +				     hcintmsk.u32);
> +		usbc_hcchar.s.chdis = 1;
> +		cvmx_usb_write_csr32(usb,
> +				     CVMX_USBCX_HCCHARX(channel, usb->index),
> +				     usbc_hcchar.u32);
> +		return -1;

Do not make up error values, return -EINVAL or something like that (what
ever the real error here is.)

> +	} else if (hcint_xfercompl) {
> +		/*
> +		 * Successful IN/OUT with transfer complete.
> +		 * Channel halt isn't needed.
> +		 */
> +	} else {
> +		dev_err(dev, "USB%d: Channel %d interrupt without halt\n",
> +			usb->index, channel);
> +		return -1;

Same here.

thanks,

greg k-h

  reply	other threads:[~2018-07-29 12:43 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-26 15:41 [PATCH v2 0/3] Staging: octeon-usb fixes for coding style, SPDX and readability Georgios Tsotsos
2018-07-26 13:30 ` [PATCH 1/3] Staging: octeon-usb: Adding SPDX license identifier Georgios Tsotsos
2018-07-26 15:41   ` [PATCH v2 " Georgios Tsotsos
2018-07-26 13:30 ` [PATCH 2/3] Staging: octeon-usb: Change coding style of CVMX_WAIT_FOR_FIELD32 marco Georgios Tsotsos
2018-07-26 15:41   ` [PATCH v2 " Georgios Tsotsos
2018-07-27 15:15   ` Greg Kroah-Hartman
2018-07-28 15:48     ` Georgios Tsotsos
2018-07-29 11:40     ` [PATCH v3 0/2] Staging: octeon-usb: Changed CVMX_WAIT_FOR_FIELD32 macro Georgios Tsotsos
2018-07-29 11:40       ` [PATCH v3 1/2] Staging: octeon-usb: Change multiple calling of CVMX_USBCX_GRSTCTL Georgios Tsotsos
2018-07-29 12:44         ` Greg Kroah-Hartman
2018-07-29 14:13           ` [PATCH v4 " Georgios Tsotsos
2018-07-29 11:40       ` [PATCH v3 2/2] Staging: octeon-usb: Changes macro CVMX_WAIT_FOR_FIELD32 to function call Georgios Tsotsos
2018-07-29 19:27         ` Aaro Koskinen
2018-07-29 14:13     ` [PATCH v4 " Georgios Tsotsos
2018-07-26 13:30 ` [PATCH 3/3] Staging: octeon-usb: Breaks down cvmx_usb_poll_channel() Georgios Tsotsos
2018-07-26 15:41   ` [PATCH v2 " Georgios Tsotsos
2018-07-26 16:31   ` Joe Perches
2018-07-26 22:08     ` Georgios Tsotsos
2018-07-29 11:41     ` [PATCH v3 0/1] " Georgios Tsotsos
2018-07-29 11:41       ` [PATCH v3 1/1] " Georgios Tsotsos
2018-07-29 12:43         ` Greg Kroah-Hartman [this message]
2018-07-29 14:33           ` [PATCH v4 1/1] Staging: octeon-usb: Using defined error codes and applying coding style Georgios Tsotsos
2018-07-29 20:21             ` Aaro Koskinen
2018-07-29 21:17               ` Georgios Tsotsos
2018-07-29 22:29               ` [PATCH v5] " Georgios Tsotsos
2018-07-30  8:51                 ` Greg Kroah-Hartman
2018-07-30 20:18                   ` Georgios Tsotsos
2018-07-29 14:52           ` [PATCH v3 1/1] Staging: octeon-usb: Breaks down cvmx_usb_poll_channel() Georgios Tsotsos

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=20180729124320.GA27275@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=aaro.koskinen@iki.fi \
    --cc=devel@driverdev.osuosl.org \
    --cc=jhogan@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tsotsos@gmail.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.