15 Sep, 2016

1 commit


02 Sep, 2016

2 commits

  • The workqueues "ioc->reset_work_q" and "ioc->fw_event_q" queue a single
    work item &ioc->fault_reset_work and &fw_event->work, respectively and
    hence don't require ordering. Hence, they have been converted to use
    alloc_workqueue().

    The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
    memory pressure since the workqueue belongs to a storage driver which is
    being used on a memory reclaim path.

    Since there are fixed number of work items, explicit concurrency limit
    is unnecessary here.

    Signed-off-by: Bhaktipriya Shridhar
    Acked-by: Tejun Heo
    Signed-off-by: Martin K. Petersen

    Bhaktipriya Shridhar
     
  • The workqueue "fc_rescan_work_q" queues multiple work items viz
    &ioc->fc_rescan_work, &ioc->fc_lsc_work, &ioc->fc_setup_reset_work,
    which require strict execution ordering. Hence, an ordered dedicated
    workqueue has been used.

    WQ_MEM_RECLAIM has been set since the workqueue is belongs to a storage
    driver which is being used on a memory reclaim path and hence, requires
    forward progress under memory pressure.

    Signed-off-by: Bhaktipriya Shridhar
    Acked-by: Tejun Heo
    Signed-off-by: Martin K. Petersen

    Bhaktipriya Shridhar
     

19 May, 2016

1 commit

  • Pull SCSI updates from James Bottomley:
    "First round of SCSI updates for the 4.6+ merge window.

    This batch includes the usual quota of driver updates (bnx2fc, mp3sas,
    hpsa, ncr5380, lpfc, hisi_sas, snic, aacraid, megaraid_sas). There's
    also a multiqueue update for scsi_debug, assorted bug fixes and a few
    other minor updates (refactor of scsi_sg_pools into generic code, alua
    and VPD updates, and struct timeval conversions)"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (138 commits)
    mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs
    mpt3sas: Set maximum transfer length per IO to 4MB for VDs
    mpt3sas: Updating mpt3sas driver version to 13.100.00.00
    mpt3sas: Fix initial Reference tag field for 4K PI drives.
    mpt3sas: Handle active cable exception event
    mpt3sas: Update MPI header to 2.00.42
    Revert "lpfc: Delete unnecessary checks before the function call mempool_destroy"
    eata_pio: missing break statement
    hpsa: Fix type ZBC conditional checks
    scsi_lib: Decode T10 vendor IDs
    scsi_dh_alua: do not fail for unknown VPD identification
    scsi_debug: use locally assigned naa
    scsi_debug: uuid for lu name
    scsi_debug: vpd and mode page work
    scsi_debug: add multiple queue support
    bfa: fix bfa_fcb_itnim_alloc() error handling
    megaraid_sas: Downgrade two success messages to info
    cxlflash: Fix to resolve dead-lock during EEH recovery
    scsi_debug: rework resp_report_luns
    scsi_debug: use pdt constants
    ...

    Linus Torvalds
     

05 May, 2016

1 commit

  • Replace all trans_start updates with netif_trans_update helper.
    change was done via spatch:

    struct net_device *d;
    @@
    - d->trans_start = jiffies
    + netif_trans_update(d)

    Compile tested only.

    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: linux-xtensa@linux-xtensa.org
    Cc: linux1394-devel@lists.sourceforge.net
    Cc: linux-rdma@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: MPT-FusionLinux.pdl@broadcom.com
    Cc: linux-scsi@vger.kernel.org
    Cc: linux-can@vger.kernel.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-hams@vger.kernel.org
    Cc: linux-usb@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: linux-s390@vger.kernel.org
    Cc: devel@driverdev.osuosl.org
    Cc: b.a.t.m.a.n@lists.open-mesh.org
    Cc: linux-bluetooth@vger.kernel.org
    Signed-off-by: Florian Westphal
    Acked-by: Felipe Balbi
    Acked-by: Mugunthan V N
    Acked-by: Antonio Quartulli
    Signed-off-by: David S. Miller

    Florian Westphal
     

30 Apr, 2016

1 commit

  • mptsas_smp_handler() checks for dma mapping errors by comparison
    returned address with zero, while pci_dma_mapping_error() should be
    used.

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Acked-by: Sathya Prakash Veerichetty
    Signed-off-by: Martin K. Petersen

    Alexey Khoroshilov
     

12 Apr, 2016

1 commit

  • On larger installations it is useful to disable automatic LUN scanning,
    and only add the required LUNs via udev rules. This can speed up bootup
    dramatically.

    This patch introduces a new scan module parameter value 'manual', which
    works like 'none', but can be overridden by setting the 'rescan' value
    from scsi_scan_target to 'SCSI_SCAN_MANUAL'. And it updates all
    relevant callers to set the 'rescan' value to 'SCSI_SCAN_MANUAL' if
    invoked via the 'scan' option in sysfs.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Ewan D. Milne
    Tested-by: Laurence Oberman
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     

24 Feb, 2016

2 commits

  • mpt_attach() was not checking for the failure to create fw_event_q.
    Also, iounmap() was not being called in all error cases after ioremap()
    had been called by mpt_mapresources().

    Signed-off-by: Ewan D. Milne
    Reported-by: Insu Yun
    Reviewed-by: Tomas Henzl
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Ewan D. Milne
     
  • The seq_mpt_print_ioc_summary function is used for the
    /proc/mpt/iocN/summary implementation and never gets called when
    CONFIG_PROC_FS is disabled:

    drivers/message/fusion/mptbase.c:6851:13: warning: 'seq_mpt_print_ioc_summary' defined but not used [-Wunused-function]
    static void seq_mpt_print_ioc_summary(MPT_ADAPTER *ioc, struct seq_file *m, int showlan)

    This adds an #ifdef to hide the function definition in that case and
    avoid the warning.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Martin K. Petersen

    Arnd Bergmann
     

12 Nov, 2015

2 commits


10 Nov, 2015

1 commit

  • This patch changes the !blk-mq path to the same defaults as the blk-mq
    I/O path by always enabling block tagging, and always using host wide
    tags. We've had blk-mq available for a few releases so bugs with
    this mode should have been ironed out, and this ensures we get better
    coverage of over tagging setup over different configs.

    Signed-off-by: Christoph Hellwig
    Acked-by: Jens Axboe
    Reviewed-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Christoph Hellwig
     

26 Aug, 2015

1 commit

  • These are signed values the come from the user, we put a cap on the
    upper bounds but not on the lower bounds.

    We use "karg.dataSgeOffset" to calculate "sz". We verify "sz" and
    proceed as if that means that "karg.dataSgeOffset" is correct but this
    fails to consider that the "sz" calculations can have integer overflows.

    Signed-off-by: Dan Carpenter
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: James Bottomley

    Dan Carpenter
     

13 Jun, 2015

2 commits

  • If and when this gets enabled the driver could should split
    up IO memory space properly and that is quite a bit of work.
    Just remove the uncommented dead MTRR code then.

    There are a few motivations for this:

    a) Take advantage of PAT when available

    b) Help bury MTRR code away, MTRR is architecture specific and on
    x86 its replaced by PAT

    c) Help with the goal of eventually using _PAGE_CACHE_UC over
    _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
    de33c442e titled "x86 PAT: fix performance drop for glx,
    use UC minus for ioremap(), ioremap_nocache() and
    pci_mmap_page_range()")

    Signed-off-by: Luis R. Rodriguez
    Acked-by: Sreekanth Reddy
    Signed-off-by: James Bottomley

    Luis R. Rodriguez
     
  • A user of scsi_track_queue_full should pass to the function a constant value
    untill the queue-depth changes, otherwise the internal logic in
    scsi_track_queue_full rejects the change. Other users of this function use a
    'sdev->queue_depth - 1' as depth parameter, let's do the same.

    Signed-off-by: Tomas Henzl
    Acked-by: "Sreekanth Reddy"
    Signed-off-by: James Bottomley

    Tomas Henzl
     

04 Feb, 2015

1 commit

  • The I2O layer deals with a technology that to say the least didn't catch on
    in the market.

    The only relevant products are some of the AMI MegaRAID - which supported I2O
    and its native mode (The native mode is faster and runs on Linux), an
    obscure crypto ethernet card that's now so many years out of date nobody
    would use it, the old DPT controllers, which speak their own dialect and
    have their own driver - and ermm.. thats about it.

    We also know the code isn't in good shape as recently a patch was proposed
    and queried as buggy, which in turn showed the existing code was broken
    already by prior "clean up" and nobody had noticed that either.

    It's coding style robot code nothing more. Like some forgotten corridor
    cleaned relentlessly by a lost Roomba but where no user has trodden in years.

    Move it to staging and then to /dev/null.

    The headers remain as they are shared with dpt_i2o.

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     

24 Nov, 2014

1 commit

  • Drop the now unused reason argument from the ->change_queue_depth method.
    Also add a return value to scsi_adjust_queue_depth, and rename it to
    scsi_change_queue_depth now that it can be used as the default
    ->change_queue_depth implementation.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Hannes Reinecke

    Christoph Hellwig
     

12 Nov, 2014

4 commits

  • Remove the tagged argument from scsi_adjust_queue_depth, and just let it
    handle the queue depth. For most drivers those two are fairly separate,
    given that most modern drivers don't care about the SCSI "tagged" status
    of a command at all, and many old drivers allow queuing of multiple
    untagged commands in the driver.

    Instead we start out with the ->simple_tags flag set before calling
    ->slave_configure, which is how all drivers actually looking at
    ->simple_tags except for one worke anyway. The one other case looks
    broken, but I've kept the behavior as-is for now.

    Except for that we only change ->simple_tags from the ->change_queue_type,
    and when rejecting a tag message in a single driver, so keeping this
    churn out of scsi_adjust_queue_depth is a clear win.

    Now that the usage of scsi_adjust_queue_depth is more obvious we can
    also remove all the trivial instances in ->slave_alloc or ->slave_configure
    that just set it to the cmd_per_lun default.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Hannes Reinecke
    Reviewed-by: Martin K. Petersen

    Christoph Hellwig
     
  • Allow a driver to ask for block layer tags by setting .use_blk_tags in the
    host template, in which case it will always see a valid value in
    request->tag, similar to the behavior when using blk-mq. This means even
    SCSI "untagged" commands will now have a tag, which is especially useful
    when using a host-wide tag map.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Hannes Reinecke

    Christoph Hellwig
     
  • This function shouldn't change the queue type, just the depth.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Hannes Reinecke

    Christoph Hellwig
     
  • Remove the ordered_tags field, we haven't been issuing ordered tags based
    on it since the big barrier rework in 2010.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Bart Van Assche
    Reviewed-by: Martin K. Petersen

    Christoph Hellwig
     

08 Oct, 2014

1 commit

  • Pull SCSI updates from James Bottomley:
    "This patch set consists of the usual driver updates (megaraid_sas,
    arcmsr, be2iscsi, lpfc, mpt2sas, mpt3sas, qla2xxx, ufs) plus several
    assorted fixes and miscellaneous updates (including the
    pci_msix_enable_range() changes that have been pending for a while)"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (202 commits)
    scsi: add a CONFIG_SCSI_MQ_DEFAULT option
    ufs: definitions for phy interface
    ufs: tune bkops while power managment events
    ufs: Add support for clock scaling using devfreq framework
    ufs: Add freq-table-hz property for UFS device
    ufs: Add support for clock gating
    ufs: refactor configuring power mode
    ufs: add UFS power management support
    ufs: introduce well known logical unit in ufs
    ufs: manually add well known logical units
    ufs: Active Power Mode - configuring bActiveICCLevel
    ufs: improve init sequence
    ufs: refactor query descriptor API support
    ufs: add voting support for host controller power
    ufs: Add clock initialization support
    ufs: Add regulator enable support
    ufs: Allow vendor specific initialization
    scsi: don't add scsi_device if its already visible
    scsi: fix the type for well known LUs
    scsi: fix comment in struct Scsi_Host definition
    ...

    Linus Torvalds
     

25 Sep, 2014

1 commit

  • When using a virtual SCSI disk in a VMWare VM if blkdev_issue_zeroout is used
    data can be improperly zeroed out using the mptfusion driver. This patch
    disables write_same for this driver and the vmware subsystem_vendor which
    ensures that manual zeroing out is used instead.

    Cc: stable@vger.kernel.org
    BugLink: http://bugs.launchpad.net/bugs/1371591
    Reported-by: Bruce Lucas
    Tested-by: Chris J Arges
    Signed-off-by: Chris J Arges
    Reviewed-by: Martin K. Petersen
    Signed-off-by: Christoph Hellwig

    Chris J Arges
     

17 Sep, 2014

3 commits

  • There are other kconfig symbols which use SCSI_FC_ATTRS.
    In order to maintain sanity and prevent kconfig warnings, change
    all of these from using 'select' to using 'depends on' so that
    proper symbol dependencies will be honored and circular depends
    problems will be avoided.
    This fixes kconfig warnings and build errors:

    warning: (LIBFC && SCSI_IBMVFC && SCSI_QLA_FC && SCSI_LPFC && ZFCP && SCSI_BFA_FC && SCSI_CHELSIO_FCOE && FUSION_FC) selects SCSI_FC_ATTRS which has unmet direct dependencies (SCSI && NET)
    drivers/scsi/scsi_transport_fc.c: In function 'fc_host_post_event':
    drivers/scsi/scsi_transport_fc.c:543:7: error: 'scsi_nl_sock' undeclared (first use in this function)
    drivers/scsi/scsi_transport_fc.c: In function 'fc_host_post_vendor_event':
    drivers/scsi/scsi_transport_fc.c:611:7: error: 'scsi_nl_sock' undeclared (first use in this function)

    Reported-by: Fengguang Wu [0-day test robot]
    Signed-off-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Randy Dunlap
     
  • Fix kernel-doc excess parameter warning:

    Warning(..//drivers/message/fusion/mptbase.c:1411): Excess function parameter 'prod_name' description in 'mpt_get_product_name'

    Signed-off-by: Randy Dunlap
    Reviewed-by: Ewan D. Milne
    Signed-off-by: Christoph Hellwig

    Randy Dunlap
     
  • Rounding up to a multiple of 4 should be done using the ALIGN
    macro. As a bonus, this also makes the generated code smaller.

    In GetIocFacts(), sz is assigned to a few lines below without being
    read in the meantime, so it is ok that it doesn't end up with the same
    value as facts->FWImageSize.

    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Joe Lawrence
    Signed-off-by: Christoph Hellwig

    Rasmus Villemoes
     

26 Jul, 2014

6 commits

  • Fixes the following smatch warnings:

    drivers/message/fusion/mptbase.c:652 mptbase_reply() warn: variable
    dereferenced before check 'reply' (see line 639)

    [JL: No-brainer, the enclosing switch statement dereferences
    reply, so we can't get here unless reply is valid.]

    drivers/message/fusion/mptsas.c:1255 mptsas_taskmgmt_complete() error:
    we previously assumed 'pScsiTmReply' could be null (see line 1227)

    [HCH: Reading the code in mptsas_taskmgmt_complete it's pretty
    obvious that it can't do anything useful if mr/pScsiTmReply are
    NULL, so I suspect it would be best to just return at the
    beginning of the function.

    I'd love to understand if it actually could ever be zero, which I
    doubt. Maybe the LSI people can shed some light on that?]

    drivers/message/fusion/mptsas.c:3888 mptsas_not_responding_devices()
    error: we previously assumed 'port_info->phy_info' could be null
    (see line 3875)

    [HCH: It's pretty obvious from reading mptsas_sas_io_unit_pg0 that
    we never register a port_info with a NULL phy_info in the lists,
    so all NULL checks on it could be deleted.]

    drivers/message/fusion/mptscsih.c:1284 mptscsih_info() error:
    we previously assumed 'h' could be null (see line 1274)

    [HCH: shost_priv can't return NULL, so the if (h) should be
    removed.]

    drivers/message/fusion/mptscsih.c:1388 mptscsih_qcmd() error: we
    previously assumed 'vdevice' could be null (see line 1373)

    [HCH: vdevice can't ever be NULL here, it's allocated in
    ->slave_alloc and thus guaranteed to be around when
    ->queuecommand is called.]

    Signed-off-by: Joe Lawrence
    Acked-by: Sreekanth Reddy
    Signed-off-by: Christoph Hellwig

    Joe Lawrence
     
  • Tack the firmware reply event_data payload to the end of its
    corresponding struct fw_event_work allocation. Rework fw_event_work
    allocation calculations to include the event_data size where
    appropriate.

    This clarifies the code a bit and avoids the following smatch warnings:

    drivers/message/fusion/mptsas.c:1003 mptsas_queue_device_delete()
    error: memcpy() 'fw_event->event_data' too small (29 vs 36)

    drivers/message/fusion/mptsas.c:1017 mptsas_queue_rescan() error: not
    allocating enough data 168 vs 160

    Signed-off-by: Joe Lawrence
    Acked-by: Sreekanth Reddy
    Signed-off-by: Christoph Hellwig

    Joe Lawrence
     
  • The struct _MPT_ADAPTER doesn't need a full copy of the product string,
    so prod_name can point to the string literal storage that the driver
    already provides.

    Avoids the following smatch warning:

    drivers/message/fusion/mptbase.c:2858 MptDisplayIocCapabilities()
    warn: this array is probably non-NULL. 'ioc->prod_name'

    Signed-off-by: Joe Lawrence
    Acked-by: Sreekanth Reddy
    Signed-off-by: Christoph Hellwig

    Joe Lawrence
     
  • Let memdup_user handle the kmalloc, copy_from_user and error checking
    kfree code.

    Spotted by the following smatch (false positive) warning:

    drivers/message/fusion/mptctl.c:1369 mptctl_getiocinfo() warn:
    possible info leak 'karg'

    Signed-off-by: Joe Lawrence
    Acked-by: Sreekanth Reddy
    Signed-off-by: Christoph Hellwig

    Joe Lawrence
     
  • Fixes the following smatch warnings:

    drivers/message/fusion/mptfc.c:529 mptfc_target_destroy() info:
    redundant null check on starget->hostdata calling kfree()

    drivers/message/fusion/mptspi.c:465 mptspi_target_destroy() info:
    redundant null check on starget->hostdata calling kfree()

    Signed-off-by: Joe Lawrence
    Acked-by: Sreekanth Reddy
    Signed-off-by: Christoph Hellwig

    Joe Lawrence
     
  • Fixes the following sparse warnings:

    drivers/message/fusion/mptbase.c:7011:1: warning: symbol
    'mpt_SoftResetHandler' was not declared. Should it be static?

    drivers/message/fusion/mptsas.c:1578:23: warning: symbol
    'mptsas_refreshing_device_handles' was not declared. Should it be
    static?

    drivers/message/fusion/mptsas.c:3653:24: warning: symbol
    'mptsas_expander_add' was not declared. Should it be static?

    drivers/message/fusion/mptsas.c:5327:1: warning: symbol
    'mptsas_shutdown' was not declared. Should it be static?

    drivers/message/fusion/mptspi.c:624:1: warning: symbol
    'mptscsih_quiesce_raid' was not declared. Should it be static?

    Signed-off-by: Joe Lawrence
    Acked-by: Sreekanth Reddy
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Christoph Hellwig

    Joe Lawrence
     

25 Jul, 2014

1 commit

  • Avoid taking the queue_lock to check the per-device queue limit. Instead
    we do an atomic_inc_return early on to grab our slot in the queue,
    and if necessary decrement it after finishing all checks.

    Unlike the host and target busy counters this doesn't allow us to avoid the
    queue_lock in the request_fn due to the way the interface works, but it'll
    allow us to prepare for using the blk-mq code, which doesn't use the
    queue_lock at all, and it at least avoids a queue_lock round trip in
    scsi_device_unbusy, which is still important given how busy the queue_lock
    is.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Reviewed-by: Webb Scales
    Acked-by: Jens Axboe
    Tested-by: Bart Van Assche
    Tested-by: Robert Elliott

    Christoph Hellwig
     

18 Jul, 2014

2 commits

  • Now that we're using 64-bit LUNs internally we need to increase
    the size of max_luns to 64 bits, too.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Ewan Milne
    Signed-off-by: Christoph Hellwig

    Hannes Reinecke
     
  • The SCSI standard defines 64-bit values for LUNs, and large arrays
    employing large or hierarchical LUN numbers become more and more
    common.

    So update the linux SCSI stack to use 64-bit LUN numbers.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Ewan Milne
    Signed-off-by: Christoph Hellwig

    Hannes Reinecke
     

29 May, 2014

3 commits

  • Hi,

    without this patch the istwiRWRequest->MsgContext is always set to zero,
    this patch saves the MsgContext in a msgcontext variable and then restores
    the value.
    Thanks to David Jeffery who found the issue and did the analysis.

    Signed-off-by: Tomas Henzl
    Acked-by: Desai, Kashyap
    Signed-off-by: Christoph Hellwig

    Tomas Henzl
     
  • Removing the host_lock from the I/O submission path gives a huge
    scalability improvement.

    Signed-off-by: Matthew Wilcox
    Reviewed-by: Nicholas Bellinger
    Reviewed-by: Praveen Krishnamoorthy
    Acked-by: Sreekanth Reddy
    Signed-off-by: Christoph Hellwig

    Matthew Wilcox
     
  • Reusing a msg frame quickly means it's still cache-hot. This yields
    a small but noticable performance improvement in a well-known database
    benchmark. This improvement is already present in the mpt3sas driver.

    Signed-off-by: Matthew Wilcox
    Reviewed-by: Nicholas Bellinger
    Reviewed-by: Praveen Krishnamoorthy
    Acked-by: Sreekanth Reddy
    Signed-off-by: Christoph Hellwig

    Matthew Wilcox
     

02 Apr, 2014

1 commit

  • Pull PCI changes from Bjorn Helgaas:
    "Enumeration
    - Increment max correctly in pci_scan_bridge() (Andreas Noever)
    - Clarify the "scan anyway" comment in pci_scan_bridge() (Andreas Noever)
    - Assign CardBus bus number only during the second pass (Andreas Noever)
    - Use request_resource_conflict() instead of insert_ for bus numbers (Andreas Noever)
    - Make sure bus number resources stay within their parents bounds (Andreas Noever)
    - Remove pci_fixup_parent_subordinate_busnr() (Andreas Noever)
    - Check for child busses which use more bus numbers than allocated (Andreas Noever)
    - Don't scan random busses in pci_scan_bridge() (Andreas Noever)
    - x86: Drop pcibios_scan_root() check for bus already scanned (Bjorn Helgaas)
    - x86: Use pcibios_scan_root() instead of pci_scan_bus_with_sysdata() (Bjorn Helgaas)
    - x86: Use pcibios_scan_root() instead of pci_scan_bus_on_node() (Bjorn Helgaas)
    - x86: Merge pci_scan_bus_on_node() into pcibios_scan_root() (Bjorn Helgaas)
    - x86: Drop return value of pcibios_scan_root() (Bjorn Helgaas)

    NUMA
    - x86: Add x86_pci_root_bus_node() to look up NUMA node from PCI bus (Bjorn Helgaas)
    - x86: Use x86_pci_root_bus_node() instead of get_mp_bus_to_node() (Bjorn Helgaas)
    - x86: Remove mp_bus_to_node[], set_mp_bus_to_node(), get_mp_bus_to_node() (Bjorn Helgaas)
    - x86: Use NUMA_NO_NODE, not -1, for unknown node (Bjorn Helgaas)
    - x86: Remove acpi_get_pxm() usage (Bjorn Helgaas)
    - ia64: Use NUMA_NO_NODE, not MAX_NUMNODES, for unknown node (Bjorn Helgaas)
    - ia64: Remove acpi_get_pxm() usage (Bjorn Helgaas)
    - ACPI: Fix acpi_get_node() prototype (Bjorn Helgaas)

    Resource management
    - i2o: Fix and refactor PCI space allocation (Bjorn Helgaas)
    - Add resource_contains() (Bjorn Helgaas)
    - Add %pR support for IORESOURCE_UNSET (Bjorn Helgaas)
    - Mark resources as IORESOURCE_UNSET if we can't assign them (Bjorn Helgaas)
    - Don't clear IORESOURCE_UNSET when updating BAR (Bjorn Helgaas)
    - Check IORESOURCE_UNSET before updating BAR (Bjorn Helgaas)
    - Don't try to claim IORESOURCE_UNSET resources (Bjorn Helgaas)
    - Mark 64-bit resource as IORESOURCE_UNSET if we only support 32-bit (Bjorn Helgaas)
    - Don't enable decoding if BAR hasn't been assigned an address (Bjorn Helgaas)
    - Add "weak" generic pcibios_enable_device() implementation (Bjorn Helgaas)
    - alpha, microblaze, sh, sparc, tile: Use default pcibios_enable_device() (Bjorn Helgaas)
    - s390: Use generic pci_enable_resources() (Bjorn Helgaas)
    - Don't check resource_size() in pci_bus_alloc_resource() (Bjorn Helgaas)
    - Set type in __request_region() (Bjorn Helgaas)
    - Check all IORESOURCE_TYPE_BITS in pci_bus_alloc_from_region() (Bjorn Helgaas)
    - Change pci_bus_alloc_resource() type_mask to unsigned long (Bjorn Helgaas)
    - Log IDE resource quirk in dmesg (Bjorn Helgaas)
    - Revert "[PATCH] Insert GART region into resource map" (Bjorn Helgaas)

    PCI device hotplug
    - Make check_link_active() non-static (Rajat Jain)
    - Use link change notifications for hot-plug and removal (Rajat Jain)
    - Enable link state change notifications (Rajat Jain)
    - Don't disable the link permanently during removal (Rajat Jain)
    - Don't check adapter or latch status while disabling (Rajat Jain)
    - Disable link notification across slot reset (Rajat Jain)
    - Ensure very fast hotplug events are also processed (Rajat Jain)
    - Add hotplug_lock to serialize hotplug events (Rajat Jain)
    - Remove a non-existent card, regardless of "surprise" capability (Rajat Jain)
    - Don't turn slot off when hot-added device already exists (Yijing Wang)

    MSI
    - Keep pci_enable_msi() documentation (Alexander Gordeev)
    - ahci: Fix broken single MSI fallback (Alexander Gordeev)
    - ahci, vfio: Use pci_enable_msi_range() (Alexander Gordeev)
    - Check kmalloc() return value, fix leak of name (Greg Kroah-Hartman)
    - Fix leak of msi_attrs (Greg Kroah-Hartman)
    - Fix pci_msix_vec_count() htmldocs failure (Masanari Iida)

    Virtualization
    - Device-specific ACS support (Alex Williamson)

    Freescale i.MX6
    - Wait for retraining (Marek Vasut)

    Marvell MVEBU
    - Use Device ID and revision from underlying endpoint (Andrew Lunn)
    - Fix incorrect size for PCI aperture resources (Jason Gunthorpe)
    - Call request_resource() on the apertures (Jason Gunthorpe)
    - Fix potential issue in range parsing (Jean-Jacques Hiblot)

    Renesas R-Car
    - Check platform_get_irq() return code (Ben Dooks)
    - Add error interrupt handling (Ben Dooks)
    - Fix bridge logic configuration accesses (Ben Dooks)
    - Register each instance independently (Magnus Damm)
    - Break out window size handling (Magnus Damm)
    - Make the Kconfig dependencies more generic (Magnus Damm)

    Synopsys DesignWare
    - Fix RC BAR to be single 64-bit non-prefetchable memory (Mohit Kumar)

    Miscellaneous
    - Remove unused SR-IOV VF Migration support (Bjorn Helgaas)
    - Enable INTx if BIOS left them disabled (Bjorn Helgaas)
    - Fix hex vs decimal typo in cpqhpc_probe() (Dan Carpenter)
    - Clean up par-arch object file list (Liviu Dudau)
    - Set IORESOURCE_ROM_SHADOW only for the default VGA device (Sander Eikelenboom)
    - ACPI, ARM, drm, powerpc, pcmcia, PCI: Use list_for_each_entry() for bus traversal (Yijing Wang)
    - Fix pci_bus_b() build failure (Paul Gortmaker)"

    * tag 'pci-v3.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (108 commits)
    Revert "[PATCH] Insert GART region into resource map"
    PCI: Log IDE resource quirk in dmesg
    PCI: Change pci_bus_alloc_resource() type_mask to unsigned long
    PCI: Check all IORESOURCE_TYPE_BITS in pci_bus_alloc_from_region()
    resources: Set type in __request_region()
    PCI: Don't check resource_size() in pci_bus_alloc_resource()
    s390/PCI: Use generic pci_enable_resources()
    tile PCI RC: Use default pcibios_enable_device()
    sparc/PCI: Use default pcibios_enable_device() (Leon only)
    sh/PCI: Use default pcibios_enable_device()
    microblaze/PCI: Use default pcibios_enable_device()
    alpha/PCI: Use default pcibios_enable_device()
    PCI: Add "weak" generic pcibios_enable_device() implementation
    PCI: Don't enable decoding if BAR hasn't been assigned an address
    PCI: Enable INTx in pci_reenable_device() only when MSI/MSI-X not enabled
    PCI: Mark 64-bit resource as IORESOURCE_UNSET if we only support 32-bit
    PCI: Don't try to claim IORESOURCE_UNSET resources
    PCI: Check IORESOURCE_UNSET before updating BAR
    PCI: Don't clear IORESOURCE_UNSET when updating BAR
    PCI: Mark resources as IORESOURCE_UNSET if we can't assign them
    ...

    Conflicts:
    arch/x86/include/asm/topology.h
    drivers/ata/ahci.c

    Linus Torvalds
     

27 Feb, 2014

1 commit

  • Convert i2o_res_alloc() to use pci_bus_alloc_resource() rather than
    pci_find_parent_resource() and allocate_resource(). We don't have a
    resource to start with, so pci_find_parent_resource() can't do anything
    useful: a bus may have several memory resources available, so there might
    be several possible parents. This is more likely on root buses because
    host bridges may have any number of apertures.

    I'm pretty sure this didn't work in the first place because it passed
    size == min == max to allocate_resource(). The min and max parameters are
    constraints on the *addresses* of the resource, not on its size, so I think
    it was impossible for allocate_resource() to succeed.

    Signed-off-by: Bjorn Helgaas

    Bjorn Helgaas