04 Nov, 2018

2 commits

  • [ Upstream commit 96fc74333f84cfdf8d434c6c07254e215e2aad00 ]

    There is a copy and paste bug so we accidentally use the RX_ shift when
    we're in TX_ mode.

    Fixes: bb8b2062aff3 ("fsl/qe: setup clock source for TDM mode")
    Signed-off-by: Dan Carpenter
    Signed-off-by: Zhao Qiang
    Signed-off-by: Li Yang
    (cherry picked from commit 3cb31b634052ed458922e0c8e2b4b093d7fb60b9)
    Signed-off-by: Olof Johansson
    Signed-off-by: Sasha Levin

    Zhao Qiang
     
  • [ Upstream commit 64e9e22e68512da8df3c9a7430f07621e48db3c2 ]

    If the qman driver didn't probe, calling qman_alloc_fqid_range,
    qman_alloc_pool_range or qman_alloc_cgrid_range (as done in dpaa_eth) will
    pass a NULL pointer to gen_pool_alloc, leading to a NULL pointer
    dereference.

    Signed-off-by: Alexandre Belloni
    Reviewed-by: Roy Pledge
    Signed-off-by: Li Yang
    (cherry picked from commit f72487a2788aa70c3aee1d0ebd5470de9bac953a)
    Signed-off-by: Olof Johansson
    Signed-off-by: Sasha Levin

    Alexandre Belloni
     

01 Apr, 2018

1 commit

  • [ Upstream commit 96f413f47677366e0ae03797409bfcc4151dbf9e ]

    The wait_for_completion() call in qman_delete_cgr_safe()
    was triggering a scheduling while atomic bug, replacing the
    kthread with a smp_call_function_single() call to fix it.

    Signed-off-by: Madalin Bucur
    Signed-off-by: Roy Pledge
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Madalin Bucur
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

17 Aug, 2017

1 commit

  • Now that we have a custom printf format specifier, convert users of
    full_name to use %pOF instead. This is preparation to remove storing
    of the full path string for each node.

    Signed-off-by: Rob Herring
    Acked-by: Krzysztof Kozlowski
    Reviewed-by: Geert Uytterhoeven
    Acked-by: Matthias Brugger
    Acked-by: Simon Horman
    Cc: Scott Wood
    Cc: Qiang Zhao
    Cc: Magnus Damm
    Cc: Kukjin Kim
    Cc: Javier Martinez Canillas
    Signed-off-by: Arnd Bergmann

    Rob Herring
     

13 May, 2017

1 commit

  • Pull more powerpc updates from Michael Ellerman:
    "The change to the Linux page table geometry was delayed for more
    testing with 16G pages, and there's the new CPU features stuff which
    just needed one more polish before going in. Plus a few changes from
    Scott which came in a bit late. And then various fixes, mostly minor.

    Summary highlights:

    - rework the Linux page table geometry to lower memory usage on
    64-bit Book3S (IBM chips) using the Hash MMU.

    - support for a new device tree binding for discovering CPU features
    on future firmwares.

    - Freescale updates from Scott:
    "Includes a fix for a powerpc/next mm regression on 64e, a fix for
    a kernel hang on 64e when using a debugger inside a relocated
    kernel, a qman fix, and misc qe improvements."

    Thanks to: Christophe Leroy, Gavin Shan, Horia Geantă, LiuHailong,
    Nicholas Piggin, Roy Pledge, Scott Wood, Valentin Longchamp"

    * tag 'powerpc-4.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/64s: Support new device tree binding for discovering CPU features
    powerpc: Don't print cpu_spec->cpu_name if it's NULL
    of/fdt: introduce of_scan_flat_dt_subnodes and of_get_flat_dt_phandle
    powerpc/64s: Fix unnecessary machine check handler relocation branch
    powerpc/mm/book3s/64: Rework page table geometry for lower memory usage
    powerpc: Fix distclean with Makefile.postlink
    powerpc/64e: Don't place the stack beyond TASK_SIZE
    powerpc/powernv: Block PCI config access on BCM5718 during EEH recovery
    powerpc/8xx: Adding support of IRQ in MPC8xx GPIO
    soc/fsl/qbman: Disable IRQs for deferred QBMan work
    soc/fsl/qe: add EXPORT_SYMBOL for the 2 qe_tdm functions
    soc/fsl/qe: only apply QE_General4 workaround on affected SoCs
    soc/fsl/qe: round brg_freq to 1kHz granularity
    soc/fsl/qe: get rid of immrbar_virt_to_phys()
    net: ethernet: ucc_geth: fix MEM_PART_MURAM mode
    powerpc/64e: Fix hang when debugging programs with relocated kernel

    Linus Torvalds
     

10 May, 2017

1 commit

  • Pull IOMMU updates from Joerg Roedel:

    - code optimizations for the Intel VT-d driver

    - ability to switch off a previously enabled Intel IOMMU

    - support for 'struct iommu_device' for OMAP, Rockchip and Mediatek
    IOMMUs

    - header optimizations for IOMMU core code headers and a few fixes that
    became necessary in other parts of the kernel because of that

    - ACPI/IORT updates and fixes

    - Exynos IOMMU optimizations

    - updates for the IOMMU dma-api code to bring it closer to use per-cpu
    iova caches

    - new command-line option to set default domain type allocated by the
    iommu core code

    - another command line option to allow the Intel IOMMU switched off in
    a tboot environment

    - ARM/SMMU: TLB sync optimisations for SMMUv2, Support for using an
    IDENTITY domain in conjunction with DMA ops, Support for SMR masking,
    Support for 16-bit ASIDs (was previously broken)

    - various other small fixes and improvements

    * tag 'iommu-updates-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (63 commits)
    soc/qbman: Move dma-mapping.h include to qman_priv.h
    soc/qbman: Fix implicit header dependency now causing build fails
    iommu: Remove trace-events include from iommu.h
    iommu: Remove pci.h include from trace/events/iommu.h
    arm: dma-mapping: Don't override dma_ops in arch_setup_dma_ops()
    ACPI/IORT: Fix CONFIG_IOMMU_API dependency
    iommu/vt-d: Don't print the failure message when booting non-kdump kernel
    iommu: Move report_iommu_fault() to iommu.c
    iommu: Include device.h in iommu.h
    x86, iommu/vt-d: Add an option to disable Intel IOMMU force on
    iommu/arm-smmu: Return IOVA in iova_to_phys when SMMU is bypassed
    iommu/arm-smmu: Correct sid to mask
    iommu/amd: Fix incorrect error handling in amd_iommu_bind_pasid()
    iommu: Make iommu_bus_notifier return NOTIFY_DONE rather than error code
    omap3isp: Remove iommu_group related code
    iommu/omap: Add iommu-group support
    iommu/omap: Make use of 'struct iommu_device'
    iommu/omap: Store iommu_dev pointer in arch_data
    iommu/omap: Move data structures to omap-iommu.h
    iommu/omap: Drop legacy-style device support
    ...

    Linus Torvalds
     

05 May, 2017

1 commit


03 May, 2017

1 commit

  • In commit 461a6946b1f9 ("iommu: Remove pci.h include from
    trace/events/iommu.h") that header shuffle uncovered an implicit
    include in this driver, manifesting as:

    CC drivers/soc/fsl/qbman/qman_portal.o
    drivers/soc/fsl/qbman/qman_portal.c: In function 'qman_portal_probe':
    drivers/soc/fsl/qbman/qman_portal.c:299:2: error: implicit declaration of function 'dma_set_mask'
    drivers/soc/fsl/qbman/qman_portal.c:299:2: error: implicit declaration of function 'DMA_BIT_MASK'
    if (dma_set_mask(dev, DMA_BIT_MASK(40))) {
    ^

    on the corenet32_smp_defconfig (and 64 bit respectively.) The above
    commit was singled out via git bisect.

    The header it was implictly relying on getting was dma-mapping.h - so
    we explicitly add it here.

    Fixes: 461a6946b1f9 ("iommu: Remove pci.h include from trace/events/iommu.h")
    Cc: Joerg Roedel
    Cc: Scott Wood
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Joerg Roedel

    Paul Gortmaker
     

30 Apr, 2017

5 commits

  • Work for Congestion State Notifications (CSCN) and Message Ring (MR)
    handling is handled via the workqueue mechanism. This requires the
    driver to disable those IRQs before scheduling the work and re-enabling
    it once the work is completed so that the interrupt doesn't continually
    fire.

    Signed-off-by: Roy Pledge
    Signed-off-by: Scott Wood

    Roy Pledge
     
  • This allows to build the fsl_ucc_hdlc driver as a module.

    Signed-off-by: Valentin Longchamp
    Signed-off-by: Scott Wood

    Valentin Longchamp
     
  • The QE_General4 workaround is only valid for the MPC832x and MPC836x
    SoCs. The other SoCs that embed a QUICC engine are not affected by this
    hardware bug and thus can use the computed divisors (this was
    successfully tested on the T1040).

    Similalry to what was done in commit 8ce795cb0c6b ("i2c: mpc: assign the
    correct prescaler from SVR") in order to avoid changes in
    the device tree nodes of the QE (with maybe a variant of the compatible
    property), the PVR reg is read out to find out if the workaround must be
    applied or not.

    Signed-off-by: Valentin Longchamp
    Signed-off-by: Scott Wood

    Valentin Longchamp
     
  • Because of integer computation rounding in u-boot (that sets the QE
    brg-frequency DTS prop), the clk value is 99999999 Hz even though it is
    100 MHz.

    When setting brg clks that are exact divisors of 100 MHz, this small
    differnce plays a role and can result in lower clks to be output (for
    instance 20 MHz - divide by 5 - results in 16.666 MHz - divide by 6).

    This patch fixes that by "forcing" the brg_clk to the nearest kHz when
    the difference is below 2 integer rounding errors (i.e. 4).

    Signed-off-by: Valentin Longchamp
    Signed-off-by: Scott Wood

    Valentin Longchamp
     
  • immrbar_virt_to_phys() is not used anymore

    Signed-off-by: Christophe Leroy
    Acked-by: Li Yang
    Signed-off-by: Scott Wood

    Christophe Leroy
     

24 Mar, 2017

3 commits


02 Mar, 2017

1 commit


17 Dec, 2016

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "Highlights include:

    - Support for the kexec_file_load() syscall, which is a prereq for
    secure and trusted boot.

    - Prevent kernel execution of userspace on P9 Radix (similar to
    SMEP/PXN).

    - Sort the exception tables at build time, to save time at boot, and
    store them as relative offsets to save space in the kernel image &
    memory.

    - Allow building the kernel with thin archives, which should allow us
    to build an allyesconfig once some other fixes land.

    - Build fixes to allow us to correctly rebuild when changing the
    kernel endian from big to little or vice versa.

    - Plumbing so that we can avoid doing a full mm TLB flush on P9
    Radix.

    - Initial stack protector support (-fstack-protector).

    - Support for dumping the radix (aka. Linux) and hash page tables via
    debugfs.

    - Fix an oops in cxl coredump generation when cxl_get_fd() is used.

    - Freescale updates from Scott: "Highlights include 8xx hugepage
    support, qbman fixes/cleanup, device tree updates, and some misc
    cleanup."

    - Many and varied fixes and minor enhancements as always.

    Thanks to:
    Alexey Kardashevskiy, Andrew Donnellan, Aneesh Kumar K.V, Anshuman
    Khandual, Anton Blanchard, Balbir Singh, Bartlomiej Zolnierkiewicz,
    Christophe Jaillet, Christophe Leroy, Denis Kirjanov, Elimar
    Riesebieter, Frederic Barrat, Gautham R. Shenoy, Geliang Tang, Geoff
    Levand, Jack Miller, Johan Hovold, Lars-Peter Clausen, Libin,
    Madhavan Srinivasan, Michael Neuling, Nathan Fontenot, Naveen N.
    Rao, Nicholas Piggin, Pan Xinhui, Peter Senna Tschudin, Rashmica
    Gupta, Rui Teng, Russell Currey, Scott Wood, Simon Guo, Suraj
    Jitindar Singh, Thiago Jung Bauermann, Tobias Klauser, Vaibhav Jain"

    [ And thanks to Michael, who took time off from a new baby to get this
    pull request done. - Linus ]

    * tag 'powerpc-4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (174 commits)
    powerpc/fsl/dts: add FMan node for t1042d4rdb
    powerpc/fsl/dts: add sg_2500_aqr105_phy4 alias on t1024rdb
    powerpc/fsl/dts: add QMan and BMan nodes on t1024
    powerpc/fsl/dts: add QMan and BMan nodes on t1023
    soc/fsl/qman: test: use DEFINE_SPINLOCK()
    powerpc/fsl-lbc: use DEFINE_SPINLOCK()
    powerpc/8xx: Implement support of hugepages
    powerpc: get hugetlbpage handling more generic
    powerpc: port 64 bits pgtable_cache to 32 bits
    powerpc/boot: Request no dynamic linker for boot wrapper
    soc/fsl/bman: Use resource_size instead of computation
    soc/fsl/qe: use builtin_platform_driver
    powerpc/fsl_pmc: use builtin_platform_driver
    powerpc/83xx/suspend: use builtin_platform_driver
    powerpc/ftrace: Fix the comments for ftrace_modify_code
    powerpc/perf: macros for power9 format encoding
    powerpc/perf: power9 raw event format encoding
    powerpc/perf: update attribute_group data structure
    powerpc/perf: factor out the event format field
    powerpc/mm/iommu, vfio/spapr: Put pages on VFIO container shutdown
    ...

    Linus Torvalds
     

14 Dec, 2016

1 commit

  • Pull MMC updates from Ulf Hansson:
    "It's been an busy period for mmc. Quite some changes in the mmc core,
    two new mmc host drivers, some existing drivers being extended to
    support new IP versions and lots of other updates.

    MMC core:
    - Delete eMMC packed command support
    - Introduce mmc_abort_tuning() to enable eMMC tuning to fail
    gracefully
    - Introduce mmc_can_retune() to see if a host can be retuned
    - Re-work and improve the sequence when sending a CMD6 for mmc
    - Enable CDM13 polling when switching to HS and HS DDR mode for mmc
    - Relax checking for CMD6 errors after switch to HS200
    - Re-factoring the code dealing with the mmc block queue
    - Recognize whether the eMMC card supports CMDQ
    - Fix 4K native sector check
    - Don't power off the card when starting the host
    - Increase MMC_IOC_MAX_BYTES to support bigger firmware binaries
    - Improve error handling and drop meaningless BUG_ONs()
    - Lots of clean-ups and changes to improve the quality of the code

    MMC host:
    - sdhci: Fix tuning sequence and clean-up the related code
    - sdhci: Add support to via DT override broken SDHCI cap register
    bits
    - sdhci-cadence: Add new driver for Cadence SD4HC SDHCI variant
    - sdhci-msm: Update clock management
    - sdhci-msm: Add support for eMMC HS400 mode
    - sdhci-msm: Deploy runtime/system PM support
    - sdhci-iproc: Extend driver support to newer IP versions
    - sdhci-pci: Add support for Intel GLK
    - sdhci-pci: Add support for Intel NI byt sdio
    - sdhci-acpi: Add support for 80860F14 UID 2 SDIO bus
    - sdhci: Lots of various small improvements and clean-ups
    - tmio: Add support for tuning
    - sh_mobile_sdhi: Add support for tuning
    - sh_mobile_sdhi: Extend driver to support SDHI IP on R7S72100 SoC
    - sh_mobile_sdhi: remove support for sh7372
    - davinci: Use mmc_of_parse() to enable generic mmc DT bindings
    - meson: Add new driver to support GX platforms
    - dw_mmc: Deploy generic runtime/system PM support
    - dw_mmc: Lots of various small improvements

    As a part of the mmc changes this time, I have also pulled in an
    immutable branch/tag (soc-device-match-tag1) hosted by Geert
    Uytterhoeven, to share the implementation of the new
    soc_device_match() interface. This is needed by these mmc related
    changes:

    - mmc: sdhci-of-esdhc: Get correct IP version for T4240-R1.0-R2.0
    - soc: fsl: add GUTS driver for QorIQ platforms"

    * tag 'mmc-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (136 commits)
    mmc: sdhci-cadence: add Cadence SD4HC support
    mmc: sdhci: export sdhci_execute_tuning()
    mmc: sdhci: Tidy tuning loop
    mmc: sdhci: Simplify tuning block size logic
    mmc: sdhci: Factor out tuning helper functions
    mmc: sdhci: Use mmc_abort_tuning()
    mmc: mmc: Introduce mmc_abort_tuning()
    mmc: sdhci: Always allow tuning to fall back to fixed sampling
    mmc: sdhci: Fix tuning reset after exhausting the maximum number of loops
    mmc: sdhci: Fix recovery from tuning timeout
    Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure"
    mmc: mmc: Relax checking for switch errors after HS200 switch
    mmc: sdhci-acpi: support 80860F14 UID 2 SDIO bus
    mmc: sdhci-of-at91: remove bogus MMC_SDHCI_IO_ACCESSORS select
    mmc: sdhci-pci: Use ACPI to get max frequency for Intel NI byt sdio
    mmc: sdhci-pci: Add PCI ID for Intel NI byt sdio
    mmc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate
    mmc: dw_mmc: display the clock message only one time when card is polling
    mmc: dw_mmc: add the debug message for polling and non-removable
    mmc: dw_mmc: check the "present" variable before checking flags
    ...

    Linus Torvalds
     

10 Dec, 2016

1 commit


05 Dec, 2016

2 commits


02 Dec, 2016

2 commits


29 Nov, 2016

2 commits

  • We get the following warning with the driver is compiled in:

    WARNING: modpost: Found 1 section mismatch(es).
    To see full details build your kernel with:
    'make CONFIG_DEBUG_SECTION_MISMATCH=y'

    With CONFIG_DEBUG_SECTION_MISMATCH enabled, the details are reported:

    WARNING: vmlinux.o(.text+0x55d014): Section mismatch in reference from the
    function fsl_guts_probe() to the function
    .init.text:of_flat_dt_get_machine_name()
    The function fsl_guts_probe() references
    the function __init of_flat_dt_get_machine_name().
    This is often because fsl_guts_probe lacks a __init
    annotation or the annotation of of_flat_dt_get_machine_name is wrong.

    This patch fixes the issue by using the normal DT/OF API rather than
    the of_flat_* one.

    Cc: Scott Wood
    Cc: Yangbo Lu
    Cc: Arnd Bergmann
    Cc: Ulf Hansson
    Signed-off-by: Sudeep Holla
    Acked-by: Arnd Bergmann
    Signed-off-by: Ulf Hansson

    Sudeep Holla
     
  • The global utilities block controls power management, I/O device
    enabling, power-onreset(POR) configuration monitoring, alternate
    function selection for multiplexed signals,and clock control.

    This patch adds a driver to manage and access global utilities block.
    Initially only reading SVR and registering soc device are supported.
    Other guts accesses, such as reading RCW, should eventually be moved
    into this driver as well.

    Signed-off-by: Yangbo Lu
    Acked-by: Arnd Bergmann
    Signed-off-by: Ulf Hansson

    yangbo lu
     

24 Nov, 2016

1 commit


23 Nov, 2016

12 commits