Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1634489

Re: [PATCH 2/4] PCI: add functionality for resizing resources v3

From Christian König <deathsimple@vodafone.de>
Newsgroups linux.kernel
Subject Re: [PATCH 2/4] PCI: add functionality for resizing resources v3
Date 2017-05-02 18:00 +0200
Message-ID <tCInv-ek-1@gated-at.bofh.it> (permalink)
References <tA8Hv-5gk-3@gated-at.bofh.it> <tA8Hw-5gk-33@gated-at.bofh.it> <tAyBY-5dH-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Am 26.04.2017 um 19:00 schrieb Andy Shevchenko:
> On Tue, Apr 25, 2017 at 4:19 PM, Christian König
> <deathsimple@vodafone.de> wrote:
>> From: Christian König <christian.koenig@amd.com>
>>
>> This allows device drivers to request resizing their BARs.
>>
>> The function only tries to reprogram the windows of the bridge directly above
>> the requesting device and only the BAR of the same type (usually mem, 64bit,
>> prefetchable). This is done to make sure not to disturb other drivers by
>> changing the BARs of their devices.
>>
>> If reprogramming the bridge BAR fails the old status is restored and -ENOSPC
>> returned to the calling device driver.
>> +int pci_reassign_bridge_resources(struct pci_dev *bridge, unsigned long type)
>> +{
>> +       const unsigned long type_mask = IORESOURCE_IO | IORESOURCE_MEM |
>> +               IORESOURCE_PREFETCH | IORESOURCE_MEM_64;
>> +
> Redundant.

Redundant, but also a reminder to myself that I wanted to ask something 
about that.

This type_mask is used already three times in this file, shouldn't we 
add a define for that?

> [SNIP]
>> +       list_for_each_entry(dev_res, &saved, list) {
>> +               /* Skip the bridge we just assigned resources for. */
>> +               if (bridge == dev_res->dev)
>> +                       continue;
>> +
>> +               bridge = dev_res->dev;
>> +               pci_setup_bridge(bridge->subordinate);
>> +       }
>> +
>> +       free_list(&saved);
>> +       free_list(&failed);
>> +       return ret;
> You might re-use two lines with below, but perhaps better to show
> which case returns 0 explicitly and drop assignment ret = 0 above.

Good point, but actually the free_list(&failed) is superfluous here 
since when the failed list isn't empty we end up in the cleanup path.

Going to fix all other comments in the next version.

Regards,
Christian.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Resizeable PCI BAR support V4 Christian König <deathsimple@vodafone.de> - 2017-04-25 15:30 +0200
  [PATCH 1/4] PCI: add resizeable BAR infrastructure v4 Christian König <deathsimple@vodafone.de> - 2017-04-25 15:30 +0200
    Re: [PATCH 1/4] PCI: add resizeable BAR infrastructure v4 Alex Deucher <alexdeucher@gmail.com> - 2017-04-25 17:10 +0200
    Re: [PATCH 1/4] PCI: add resizeable BAR infrastructure v4 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-04-26 18:50 +0200
      Re: [PATCH 1/4] PCI: add resizeable BAR infrastructure v4 Christian König <deathsimple@vodafone.de> - 2017-05-02 17:00 +0200
  [PATCH 2/4] PCI: add functionality for resizing resources v3 Christian König <deathsimple@vodafone.de> - 2017-04-25 15:30 +0200
    Re: [PATCH 2/4] PCI: add functionality for resizing resources v3 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-04-26 19:10 +0200
      Re: [PATCH 2/4] PCI: add functionality for resizing resources v3 Christian König <deathsimple@vodafone.de> - 2017-05-02 18:00 +0200
        Re: [PATCH 2/4] PCI: add functionality for resizing resources v3 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-02 22:30 +0200
      Re: [PATCH 2/4] PCI: add functionality for resizing resources v3 Christian König <deathsimple@vodafone.de> - 2017-05-04 11:30 +0200
        Re: [PATCH 2/4] PCI: add functionality for resizing resources v3 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-04 12:20 +0200
          Re: [PATCH 2/4] PCI: add functionality for resizing resources v3 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-04 18:50 +0200
  [PATCH 3/4] x86/PCI: Enable a 64bit BAR on AMD Family 15h (Models 30h-3fh) Processors v2 Christian König <deathsimple@vodafone.de> - 2017-04-25 15:30 +0200
    Re: [PATCH 3/4] x86/PCI: Enable a 64bit BAR on AMD Family 15h (Models  30h-3fh) Processors v2 Alex Deucher <alexdeucher@gmail.com> - 2017-04-25 17:10 +0200
    Re: [PATCH 3/4] x86/PCI: Enable a 64bit BAR on AMD Family 15h (Models  30h-3fh) Processors v2 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-04-26 19:20 +0200
  Re: Resizeable PCI BAR support V4 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-04-25 16:30 +0200

csiph-web