All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@kernel.org>
To: Pawel Laszczak <pawell@cadence.com>,
	"devicetree\@vger.kernel.org" <devicetree@vger.kernel.org>,
	Kishon Vijay Abraham I <kishon@ti.com>
Cc: "gregkh\@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-usb\@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"rogerq\@ti.com" <rogerq@ti.com>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Alan Douglas <adouglas@cadence.com>,
	"jbergsagel\@ti.com" <jbergsagel@ti.com>,
	"nsekhar\@ti.com" <nsekhar@ti.com>, "nm\@ti.com" <nm@ti.com>,
	Suresh Punnoose <sureshp@cadence.com>,
	"peter.chen\@nxp.com" <peter.chen@nxp.com>,
	Pawel Jez <pjez@cadence.com>, Rahul Kumar <kurahul@cadence.com>
Subject: RE: [PATCH v1 2/2] usb:cdns3 Add Cadence USB3 DRD Driver
Date: Mon, 17 Dec 2018 13:56:27 +0200	[thread overview]
Message-ID: <87pnu0gydw.fsf@linux.intel.com> (raw)
In-Reply-To: <BYAPR07MB47097F1DE4D13CB23763A7C8DDBC0@BYAPR07MB4709.namprd07.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 1705 bytes --]


Hi,

Pawel Laszczak <pawell@cadence.com> writes:
>>>>> +static irqreturn_t cdns3_device_irq_handler(int irq, void *data)
>>>>> +{
>>>>> +	struct cdns3_device *priv_dev;
>>>>> +	struct cdns3 *cdns = data;
>>>>> +	irqreturn_t ret = IRQ_NONE;
>>>>> +	unsigned long flags;
>>>>> +	u32 reg;
>>>>> +
>>>>> +	priv_dev = cdns->gadget_dev;
>>>>> +	spin_lock_irqsave(&priv_dev->lock, flags);
>>>>
>>>>you're already running in hardirq context. Why do you need this lock at
>>>>all? I would be better to use the hardirq handler to mask your
>>>>interrupts, so they don't fire again, then used the top-half (softirq)
>>>>handler to actually handle the interrupts.
>>>
>>> Yes, spin_lock_irqsave is not necessary here.
>>>
>>> Do you mean replacing devm_request_irq with a request_threaded_irq ?
>>> I have single interrupt line shared between  Host, Driver, DRD/OTG.
>>> I'm not sure if it will work more efficiently.
>>
>>The whole idea for running very little in hardirq context is to give the
>>scheduler a chance to decide what should run. This is important to
>>reduce latency when running with RT patchset applied, for
>>example. However, I'll give you that, it's a minor requirement. It's
>>just that, to me, it's a small detail that's easy to implement.
>
> I will do it in PATCH v2 or PATCH v3.  
> I need to post next version before 24 of December, so if I can do it
> before this date then it will be in PATCH v2. 

Take your time :-) Nothing will happen until next year. I already sent
my pull request for v4.21 and a large chunk of the community takes a few
days off during the holiday season.

There's really no rush from a community stand point.

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@kernel.org>
To: Pawel Laszczak <pawell@cadence.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Kishon Vijay Abraham I <kishon@ti.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"rogerq@ti.com" <rogerq@ti.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Alan Douglas <adouglas@cadence.com>,
	"jbergsagel@ti.com" <jbergsagel@ti.com>,
	"nsekhar@ti.com" <nsekhar@ti.com>, "nm@ti.com" <nm@ti.com>,
	Suresh Punnoose <sureshp@cadence.com>,
	"peter.chen@nxp.com" <peter.chen@nxp.com>,
	Pawel Jez <pjez@cadence.com>, Rahul Kumar <kurahul@cadence.com>
Subject: RE: [PATCH v1 2/2] usb:cdns3 Add Cadence USB3 DRD Driver
Date: Mon, 17 Dec 2018 13:56:27 +0200	[thread overview]
Message-ID: <87pnu0gydw.fsf@linux.intel.com> (raw)
In-Reply-To: <BYAPR07MB47097F1DE4D13CB23763A7C8DDBC0@BYAPR07MB4709.namprd07.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 1705 bytes --]


Hi,

Pawel Laszczak <pawell@cadence.com> writes:
>>>>> +static irqreturn_t cdns3_device_irq_handler(int irq, void *data)
>>>>> +{
>>>>> +	struct cdns3_device *priv_dev;
>>>>> +	struct cdns3 *cdns = data;
>>>>> +	irqreturn_t ret = IRQ_NONE;
>>>>> +	unsigned long flags;
>>>>> +	u32 reg;
>>>>> +
>>>>> +	priv_dev = cdns->gadget_dev;
>>>>> +	spin_lock_irqsave(&priv_dev->lock, flags);
>>>>
>>>>you're already running in hardirq context. Why do you need this lock at
>>>>all? I would be better to use the hardirq handler to mask your
>>>>interrupts, so they don't fire again, then used the top-half (softirq)
>>>>handler to actually handle the interrupts.
>>>
>>> Yes, spin_lock_irqsave is not necessary here.
>>>
>>> Do you mean replacing devm_request_irq with a request_threaded_irq ?
>>> I have single interrupt line shared between  Host, Driver, DRD/OTG.
>>> I'm not sure if it will work more efficiently.
>>
>>The whole idea for running very little in hardirq context is to give the
>>scheduler a chance to decide what should run. This is important to
>>reduce latency when running with RT patchset applied, for
>>example. However, I'll give you that, it's a minor requirement. It's
>>just that, to me, it's a small detail that's easy to implement.
>
> I will do it in PATCH v2 or PATCH v3.  
> I need to post next version before 24 of December, so if I can do it
> before this date then it will be in PATCH v2. 

Take your time :-) Nothing will happen until next year. I already sent
my pull request for v4.21 and a large chunk of the community takes a few
days off during the holiday season.

There's really no rush from a community stand point.

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@kernel.org>
To: Pawel Laszczak <pawell@cadence.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Kishon Vijay Abraham I <kishon@ti.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"rogerq@ti.com" <rogerq@ti.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Alan Douglas <adouglas@cadence.com>,
	"jbergsagel@ti.com" <jbergsagel@ti.com>,
	"nsekhar@ti.com" <nsekhar@ti.com>, "nm@ti.com" <nm@ti.com>,
	Suresh Punnoose <sureshp@cadence.com>,
	"peter.chen@nxp.com" <peter.chen@nxp.com>,
	Pawel Jez <pjez@cadence.com>, Rahul Kumar <kurahul@cadence.com>
Subject: [v1,2/2] usb:cdns3 Add Cadence USB3 DRD Driver
Date: Mon, 17 Dec 2018 13:56:27 +0200	[thread overview]
Message-ID: <87pnu0gydw.fsf@linux.intel.com> (raw)

Hi,

Pawel Laszczak <pawell@cadence.com> writes:
>>>>> +static irqreturn_t cdns3_device_irq_handler(int irq, void *data)
>>>>> +{
>>>>> +	struct cdns3_device *priv_dev;
>>>>> +	struct cdns3 *cdns = data;
>>>>> +	irqreturn_t ret = IRQ_NONE;
>>>>> +	unsigned long flags;
>>>>> +	u32 reg;
>>>>> +
>>>>> +	priv_dev = cdns->gadget_dev;
>>>>> +	spin_lock_irqsave(&priv_dev->lock, flags);
>>>>
>>>>you're already running in hardirq context. Why do you need this lock at
>>>>all? I would be better to use the hardirq handler to mask your
>>>>interrupts, so they don't fire again, then used the top-half (softirq)
>>>>handler to actually handle the interrupts.
>>>
>>> Yes, spin_lock_irqsave is not necessary here.
>>>
>>> Do you mean replacing devm_request_irq with a request_threaded_irq ?
>>> I have single interrupt line shared between  Host, Driver, DRD/OTG.
>>> I'm not sure if it will work more efficiently.
>>
>>The whole idea for running very little in hardirq context is to give the
>>scheduler a chance to decide what should run. This is important to
>>reduce latency when running with RT patchset applied, for
>>example. However, I'll give you that, it's a minor requirement. It's
>>just that, to me, it's a small detail that's easy to implement.
>
> I will do it in PATCH v2 or PATCH v3.  
> I need to post next version before 24 of December, so if I can do it
> before this date then it will be in PATCH v2. 

Take your time :-) Nothing will happen until next year. I already sent
my pull request for v4.21 and a large chunk of the community takes a few
days off during the holiday season.

There's really no rush from a community stand point.

  reply	other threads:[~2018-12-17 11:56 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-10 12:39 [PATCH v1 0/2] Introduced new Cadence USBSS DRD Driver Pawel Laszczak
2018-12-10 12:39 ` Pawel Laszczak
2018-12-10 12:39 ` [PATCH v1 1/2] dt-bindings: add binding for USBSS-DRD controller Pawel Laszczak
2018-12-10 12:39   ` [v1,1/2] " Pawel Laszczak
2018-12-10 12:39   ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-11 10:16   ` Roger Quadros
2018-12-11 10:16     ` [v1,1/2] " Roger Quadros
2018-12-11 10:16     ` [PATCH v1 1/2] " Roger Quadros
2018-12-13  9:20     ` Peter Chen
2018-12-13  9:20       ` [v1,1/2] " Peter Chen
2018-12-13  9:25       ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-13  9:25         ` [v1,1/2] " Pawel Laszczak
2018-12-20 20:01   ` [PATCH v1 1/2] " Rob Herring
2018-12-20 20:01     ` [v1,1/2] " Rob Herring
2018-12-22 22:24     ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-22 22:24       ` [v1,1/2] " Pawel Laszczak
2018-12-27 21:01       ` [PATCH v1 1/2] " Rob Herring
2018-12-27 21:01         ` [v1,1/2] " Rob Herring
2018-12-31  5:35         ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-31  5:35           ` [v1,1/2] " Pawel Laszczak
2018-12-10 12:39 ` [PATCH v1 2/2] usb:cdns3 Add Cadence USB3 DRD Driver Pawel Laszczak
2018-12-10 12:39   ` [v1,2/2] " Pawel Laszczak
2018-12-10 12:39   ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-11  9:39   ` Roger Quadros
2018-12-11  9:39     ` [v1,2/2] " Roger Quadros
2018-12-11  9:39     ` [PATCH v1 2/2] " Roger Quadros
2018-12-11 10:01     ` Pawel Laszczak
2018-12-11 10:01       ` [v1,2/2] " Pawel Laszczak
2018-12-11 12:15       ` [PATCH v1 2/2] " Felipe Balbi
2018-12-11 12:15         ` [v1,2/2] " Felipe Balbi
2018-12-11 12:15         ` [PATCH v1 2/2] " Felipe Balbi
2018-12-11 11:46     ` Felipe Balbi
2018-12-11 11:46       ` [v1,2/2] " Felipe Balbi
2018-12-11 12:14   ` [PATCH v1 2/2] " Felipe Balbi
2018-12-11 12:14     ` [v1,2/2] " Felipe Balbi
2018-12-11 12:14     ` [PATCH v1 2/2] " Felipe Balbi
2018-12-11 19:04     ` Pawel Laszczak
2018-12-11 19:04       ` [v1,2/2] " Pawel Laszczak
2018-12-11 19:04       ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-12  2:04       ` Peter Chen
2018-12-12  2:04         ` [v1,2/2] " Peter Chen
2018-12-12  6:55         ` [PATCH v1 2/2] " Felipe Balbi
2018-12-12  6:55           ` [v1,2/2] " Felipe Balbi
2018-12-12  7:38           ` [PATCH v1 2/2] " Peter Chen
2018-12-12  7:38             ` [v1,2/2] " Peter Chen
2018-12-12  8:34             ` [PATCH v1 2/2] " Felipe Balbi
2018-12-12  8:34               ` [v1,2/2] " Felipe Balbi
2018-12-12  8:34               ` [PATCH v1 2/2] " Felipe Balbi
2018-12-12  9:24               ` Peter Chen
2018-12-12  9:24                 ` [v1,2/2] " Peter Chen
2018-12-12 15:53         ` [PATCH v1 2/2] " Bin Liu
2018-12-12 15:53           ` [v1,2/2] " Bin Liu
2018-12-12 15:53           ` [PATCH v1 2/2] " Bin Liu
2018-12-13  1:21           ` Peter Chen
2018-12-13  1:21             ` [v1,2/2] " Peter Chen
2018-12-12  6:52       ` [PATCH v1 2/2] " Felipe Balbi
2018-12-12  6:52         ` [v1,2/2] " Felipe Balbi
2018-12-12  6:52         ` [PATCH v1 2/2] " Felipe Balbi
2018-12-14  3:46         ` Kishon Vijay Abraham I
2018-12-14  3:46           ` [v1,2/2] " Kishon Vijay Abraham I
2018-12-17  5:46           ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-17  5:46             ` [v1,2/2] " Pawel Laszczak
2018-12-17 11:25         ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-17 11:25           ` [v1,2/2] " Pawel Laszczak
2018-12-17 11:34           ` [PATCH v1 2/2] " Felipe Balbi
2018-12-17 11:34             ` [v1,2/2] " Felipe Balbi
2018-12-17 11:34             ` [PATCH v1 2/2] " Felipe Balbi
2018-12-17 11:51         ` Pawel Laszczak
2018-12-17 11:51           ` [v1,2/2] " Pawel Laszczak
2018-12-17 11:56           ` Felipe Balbi [this message]
2018-12-17 11:56             ` Felipe Balbi
2018-12-17 11:56             ` [PATCH v1 2/2] " Felipe Balbi
2018-12-13  9:35   ` Peter Chen
2018-12-13  9:35     ` [v1,2/2] " Peter Chen
2018-12-16 13:01     ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-16 13:01       ` [v1,2/2] " Pawel Laszczak
2018-12-14 22:56   ` [PATCH v1 2/2] " kbuild test robot
2018-12-14 22:56     ` [v1,2/2] " kbuild test robot
2018-12-14 22:56     ` [PATCH v1 2/2] " kbuild test robot

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=87pnu0gydw.fsf@linux.intel.com \
    --to=balbi@kernel.org \
    --cc=adouglas@cadence.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jbergsagel@ti.com \
    --cc=kishon@ti.com \
    --cc=kurahul@cadence.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=nsekhar@ti.com \
    --cc=pawell@cadence.com \
    --cc=peter.chen@nxp.com \
    --cc=pjez@cadence.com \
    --cc=rogerq@ti.com \
    --cc=sureshp@cadence.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.