All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Metcalf <cmetcalf@tilera.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Wei Yongjun <weiyj.lk@gmail.com>, <yongjun_wei@trendmicro.com.cn>,
	<linux-kernel@vger.kernel.org>, <linux-pci@vger.kernel.org>
Subject: Re: [PATCH -next] tile/PCI: use for_each_pci_dev to simplify the code
Date: Tue, 4 Dec 2012 15:05:42 -0500	[thread overview]
Message-ID: <50BE5796.6080009@tilera.com> (raw)
In-Reply-To: <CAErSpo7apCKg0ADSV2w1uGsFFAWi3-E4mbf8HLW8V+Gj9YNdsg@mail.gmail.com>

On 12/4/2012 2:57 PM, Bjorn Helgaas wrote:
> On Mon, Dec 3, 2012 at 6:28 AM, Wei Yongjun <weiyj.lk@gmail.com> wrote:
>> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>>
>> Use for_each_pci_dev to simplify the code.
>>
>> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>> ---
>>  arch/tile/kernel/pci.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c
>> index 7598226..aac1cd5 100644
>> --- a/arch/tile/kernel/pci.c
>> +++ b/arch/tile/kernel/pci.c
>> @@ -245,7 +245,7 @@ static void __devinit fixup_read_and_payload_sizes(void)
>>         u16 new_values;
>>
>>         /* Scan for the smallest maximum payload size. */
>> -       while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
>> +       for_each_pci_dev(dev) {
>>                 u32 devcap;
>>                 int max_payload;
>>
>> @@ -260,7 +260,7 @@ static void __devinit fixup_read_and_payload_sizes(void)
>>
>>         /* Now, set the max_payload_size for all devices to that value. */
>>         new_values = (max_read_size << 12) | (smallest_max_payload << 5);
>> -       while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL)
>> +       for_each_pci_dev(dev)
>>                 pcie_capability_clear_and_set_word(dev, PCI_EXP_DEVCTL,
>>                                 PCI_EXP_DEVCTL_PAYLOAD | PCI_EXP_DEVCTL_READRQ,
>>                                 new_values);
>>
>>
> This patch looks correct to me, as far as it goes.
>
> Of course, any time we use for_each_pci_dev(), it's a good clue that
> this code won't work for hotplug, so presumably you don't care about
> hotplug on this system.

Hotplug development is under way at the moment.

> tile/kernel/pci_gx.c has a function of the same name, implemented
> completely differently, which suggests that some unification or
> refactoring might be possible.

Sorry, which function are you referring to?  You mention MPS/MRS so perhaps you're talking about fixup_read_and_payload_sizes()?

> In general, I think the PCI_EXP_DEVCAP and PCI_EXP_DEVCTL code for MPS
> and MRRS management belongs in the PCI core, not in drivers or
> architectures (it's fine if they provide device- or platform-specific
> constraints), so anything you can do to move in that direction would
> be good.
>
> Bjorn

Thanks!

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com


  reply	other threads:[~2012-12-04 20:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-03 13:28 [PATCH -next] tile/PCI: use for_each_pci_dev to simplify the code Wei Yongjun
2012-12-03 16:38 ` Chris Metcalf
2012-12-04 19:57 ` Bjorn Helgaas
2012-12-04 20:05   ` Chris Metcalf [this message]
2012-12-04 20:57     ` Bjorn Helgaas

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=50BE5796.6080009@tilera.com \
    --to=cmetcalf@tilera.com \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=weiyj.lk@gmail.com \
    --cc=yongjun_wei@trendmicro.com.cn \
    /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.