24 Jun, 2015

2 commits

  • mmap requires O_RDWR to be set if MAP_SHARED is requested
    with PROT_WRITE. Adding DRM_RDWR (defined as O_RDWR) as a
    valid flag that can be passed to drm_prime_handle_to_fd_ioctl
    for buffers that need required mapping.

    Change-Id: If130b484efc917aa56562c4edb715b2a07687ce4
    Signed-off-by: Hemant Hariyani

    Hemant Hariyani
     
  • This work is based on Rob Clark's patch :
    http://dev.omapzoom.org/?p=integration/kernel-ubuntu.git;a=commit;h=6a42bc1660b06464f9da796604ecd4934bb31acd
    WIP: drm/omap: V2: add plugin API
    from the GLP kernel tree available at
    http://dev.omapzoom.org/?p=integration/kernel-ubuntu.git;a=summary

    Omapdrm is fixed so that it can accept plugins.
    Plugin add functions like load/unload etc are added in omap_drv.c
    In omap_gem.c GEM object mapping functions has been added

    This patch is required for gfx driver to be built as a drm plugin

    Subhajit : k3.12: removed const from ioctls table
    Anand : k3.14 : rebased with LCPD baseline

    Signed-off-by: Rob Clark
    Signed-off-by: Subhajit Paul
    Signed-off-by: Anand Balagopalakrishnan

    Conflicts:

    drivers/gpu/drm/omapdrm/omap_drv.c
    drivers/gpu/drm/omapdrm/omap_drv.h

    Change-Id: I72133ad08ddd4682320fa2e7f5f4dd017ee92dae
    Signed-off-by: Anand Balagopalakrishnan

    Rob Clark
     

31 May, 2015

1 commit

  • TI-Feature: rpmsg
    TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
    TI-Branch: rpmsg-ti-linux-3.14.y

    * 'rpmsg-ti-linux-3.14.y' of git://git.ti.com/rpmsg/rpmsg:
    samples/rpmsg: add support for multiple instances
    Revert "ARM: OMAP: DRA7: change IPU1 clk domain to SWSUP for proper boot"
    ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot
    iommu/omap: fix boot issue on remoteprocs with AMMU/Unicache
    iommu/omap: add pdata ops for setting powerdomain constraint
    ARM: dts: OMAP5: Fix the standby info for IPU & DSP
    remoteproc/omap: revise the comment about standby in _suspend
    remoteproc/pruss: fix pruss_init return on error
    remoteproc/pruss: lower the trace level in pru_rproc_mbox_callback
    remoteproc/omap: fix a minor typo in a trace message
    remoteproc/omap: add support for runtime auto-suspend/resume

    Signed-off-by: Dan Murphy

    Dan Murphy
     

30 May, 2015

9 commits

  • Pull in the updated remoteproc feature branch that includes the
    necessary support to fix the DRA7 IPU1 boot issue when integrated
    with PM tree or TI Integration kernel. The merge also syncs up
    the RPMsg integration branch with the latest platform base code.

    * 'rproc-linux-3.14.y' of git://git.ti.com/rpmsg/remoteproc: (132 commits)
    Revert "ARM: OMAP: DRA7: change IPU1 clk domain to SWSUP for proper boot"
    ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot
    iommu/omap: fix boot issue on remoteprocs with AMMU/Unicache
    iommu/omap: add pdata ops for setting powerdomain constraint
    ARM: dts: OMAP5: Fix the standby info for IPU & DSP
    ARM: OMAP: Check for clocks which do not have parents
    ARM: OMAP: DRA7: clockdomain: Implement timer workaround for errata i874
    ARM: dts: DRA7: Add DT node for AES2 IP
    ARM: DRA7: hwmod: Add data for AES2 IP
    crypto: omap-aes - Add support for multiple cores
    crypto: omap-aes - Fix registration of Algos
    crypto: omap-aes - Fix enabling clocks
    crypto: tcrypt - Added speed tests for Async AEAD crypto alogrithms
    crypto: omap-aes - Add support for GCM mode
    crypto: omap-aes - Fix configuring of AES mode
    crypto: omap-aes - Add support for lengths not aligned with AES_BLOCK_SIZE
    crypto: omap-des: Fix unmapping of dma channels
    dmaenegine: edma: allow pause/resume for non-cyclic mode
    ARM: common: edma: clear completion interrupts on stop
    bus: omap_l3_noc: Fix master id address decoding for OMAP5
    ...

    Signed-off-by: Suman Anna

    Suman Anna
     
  • Merge in the updated iommu feature branch into remoteproc tree to
    pull in the necessary support to fix the DRA7 IPU1 boot issue when
    integrated with PM tree.

    * 'iommu-linux-3.14.y' of git://git.ti.com/rpmsg/iommu:
    ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot
    iommu/omap: fix boot issue on remoteprocs with AMMU/Unicache
    iommu/omap: add pdata ops for setting powerdomain constraint

    Signed-off-by: Suman Anna

    Suman Anna
     
  • …rnel/platform-linux-feature-tree into rproc-linux-3.14.y

    Resync with the latest platform base code. Relevant
    fixes include fixes on DPLL bypass clock settings
    and support for Timers 12 through 16.

    * 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree: (127 commits)
    ARM: OMAP: Check for clocks which do not have parents
    ARM: OMAP: DRA7: clockdomain: Implement timer workaround for errata i874
    ARM: dts: DRA7: Add DT node for AES2 IP
    ARM: DRA7: hwmod: Add data for AES2 IP
    crypto: omap-aes - Add support for multiple cores
    crypto: omap-aes - Fix registration of Algos
    crypto: omap-aes - Fix enabling clocks
    crypto: tcrypt - Added speed tests for Async AEAD crypto alogrithms
    crypto: omap-aes - Add support for GCM mode
    crypto: omap-aes - Fix configuring of AES mode
    crypto: omap-aes - Add support for lengths not aligned with AES_BLOCK_SIZE
    crypto: omap-des: Fix unmapping of dma channels
    dmaenegine: edma: allow pause/resume for non-cyclic mode
    ARM: common: edma: clear completion interrupts on stop
    bus: omap_l3_noc: Fix master id address decoding for OMAP5
    ARM: edma: Clear IRQ if we get interrupted by a unknown event
    bus: omap_l3_noc: Fix connID for OMAP4
    bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance
    crypto: omap-sham: Use pm_runtime_irq_safe()
    crypto: omap-sham: Add the offset of sg page to vaddr
    ...

    Signed-off-by: Suman Anna <s-anna@ti.com>

    Suman Anna
     
  • …-linux-feature-tree into ti-linux-3.14.y

    TI-Feature: power_management_base
    TI-Tree: git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree.git
    TI-Branch: pm-ti-linux-3.14.y

    * 'pm-ti-linux-3.14.y' of git://git.ti.com/~kristo/ti-linux-kernel/pm-linux-feature-tree:
    ARM: dts: am437x-sk-evm: disable DDR regulator in rtc-only/poweroff mode
    regulator: tps65218: do not disable DCDC3 during poweroff on broken PMICs
    mfd: tps65218: add version check to the PMIC probe
    rtc: omap: fix ext-wakeup setup
    rtc: omap: do not disable RTC alarm during shutdown
    rtc: omap: setup the regulators for poweroff mode
    ARM: dts: am437x-gp-evm: disable DDR regulator in rtc-only/poweroff mode
    regulator: tps65218: force set power-up/down strobe to 3 for dcdc3
    regulator: of: setup initial suspend state
    ARM: dts: AM43xx: update regulator nodes for new layout
    regulator: of: Add support for parsing regulator_state for suspend state
    ARM: dts: dra7: add i810 errata dpll data
    ARM: DRA7: dpll: add implementation for errata i810

    Conflicts:
    arch/arm/common/edma.c
    arch/arm/mach-omap2/Makefile
    drivers/regulator/palmas-regulator.c
    include/dt-bindings/pinctrl/am43xx.h

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     
  • Add a new platform data ops to allow the OMAP IOMMU driver to be able
    to request a specific target power domain state for the domain it
    belongs to. This ops is being added to resolve a boot issue on OMAP
    remote processors like IPU that have an AMMU/Unicache, which will be
    in an invalid state if the particular power domain enters RET between
    the MMU programming and releasing the reset of the remote processor.
    See [1] for more details on the issue.

    The ops will allow to invoke the pwrdm_set_next_pwrst() API in a
    multi-arch kernel environment. The ops also returns the current power
    domain state while enforcing the constraint so that the driver can
    store it and use it to set back the power domain state while releasing
    the constraint.

    [1] http://git.ti.com/gitweb/?p=rpmsg/rpmsg.git;a=commit;h=6d6dd44c55638d54a151bf2ae6cc77b2f4e459d0

    Signed-off-by: Suman Anna

    Suman Anna
     
  • Some versions of tps65218 do not seem to support poweroff modes properly
    if DCDC3 regulator is shut-down. Thus, keep it enabled even during
    poweroff if the version info matches the broken silicon revision.

    Signed-off-by: Tero Kristo
    Signed-off-by: Dave Gerlach

    Tero Kristo
     
  • Version information will be needed to handle some error cases under the
    regulator driver, so store the information once during MFD probe.

    Signed-off-by: Tero Kristo
    Signed-off-by: Dave Gerlach

    Tero Kristo
     
  • Errata i810 states that the DPLL controller can be stuck if the downstream
    clocks are disabled and DPLL is in auto mode while M/N ratios are changed.
    Workaround for this is to force enable (SW_WKUP) the downstream clockdomain
    while reprogramming the DPLL. This patch adds the support for this, the
    actual clkdm-sink info needs to be added in a separate patch.

    See DRA75x, DRA74x Errata; id i810 for more details.

    Signed-off-by: Tero Kristo
    Signed-off-by: Dave Gerlach

    Tero Kristo
     
  • Conflicts:
    arch/arm/common/edma.c
    arch/arm/mach-omap2/Makefile
    drivers/regulator/palmas-regulator.c
    include/dt-bindings/pinctrl/am43xx.h
    include/linux/mfd/palmas.h

    Signed-off-by: Dave Gerlach

    Dave Gerlach
     

19 May, 2015

2 commits

  • TI-Feature: rpmsg
    TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
    TI-Branch: rpmsg-ti-linux-3.14.y

    * 'rpmsg-ti-linux-3.14.y' of git://git.ti.com/rpmsg/rpmsg:
    remoteproc/omap: add support for system suspend/resume
    ARM: dts: DRA7: Add standby info for IPU & DSPs
    ARM: dts: OMAP5: Add standby info for IPU and DSP
    ARM: dts: OMAP4: Add standby info for IPU and DSP
    Documentation: dt: update omap remoteproc binding for suspend
    remoteproc/omap: use consistent match data structures for all SoCs
    iommu/omap: add support for runtime auto suspend/resume
    iommu/omap: add logic to save/restore locked TLBs
    iommu/omap: introduce new API for suspend/resume
    iommu/omap: streamline enable/disable through runtime pm callbacks
    ARM: OMAP2+: add pdata-quirks for OMAP3 ISP IOMMU
    ARM: OMAP2+: Add iommu pdata-quirks for DRA7 DSP EDMA MMUs
    ARM: OMAP2+: plug in device_enable/idle ops for IOMMUs
    iommu/omap: add pdata ops for omap_device_enable/idle
    mailbox/omap: check for any unread messages during suspend
    mailbox/omap: add support for suspend/resume
    mailbox/omap: store mailbox interrupt type in omap_mbox_device

    Signed-off-by: Texas Instruments Auto Merger

    Texas Instruments Auto Merger
     
  • Pull in the updated remoteproc feature branch that adds the support for
    system suspend/resume for the IPU and DSP remote processors on OMAP4, OMAP5
    and DRA7 (only IPUs). The feature branch also pulls in automatically the
    dependent mailbox and iommu feature branches with suspend/resume support.

    * 'rproc-linux-3.14.y' of git://git.ti.com/rpmsg/remoteproc:
    remoteproc/omap: add support for system suspend/resume
    ARM: dts: DRA7: Add standby info for IPU & DSPs
    ARM: dts: OMAP5: Add standby info for IPU and DSP
    ARM: dts: OMAP4: Add standby info for IPU and DSP
    Documentation: dt: update omap remoteproc binding for suspend
    remoteproc/omap: use consistent match data structures for all SoCs
    iommu/omap: add support for runtime auto suspend/resume
    iommu/omap: add logic to save/restore locked TLBs
    iommu/omap: introduce new API for suspend/resume
    iommu/omap: streamline enable/disable through runtime pm callbacks
    ARM: OMAP2+: add pdata-quirks for OMAP3 ISP IOMMU
    ARM: OMAP2+: Add iommu pdata-quirks for DRA7 DSP EDMA MMUs
    ARM: OMAP2+: plug in device_enable/idle ops for IOMMUs
    iommu/omap: add pdata ops for omap_device_enable/idle
    mailbox/omap: check for any unread messages during suspend
    mailbox/omap: add support for suspend/resume
    mailbox/omap: store mailbox interrupt type in omap_mbox_device

    Signed-off-by: Suman Anna

    Suman Anna
     

18 May, 2015

9 commits

  • …egration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

    TI-Feature: connectivity
    TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
    TI-Branch: connectivity-ti-linux-3.14.y

    * 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
    ARM: dts: am57xx-beagle-x15: use palmas-usb for USB2
    extcon: palmas: Support GPIO based USB ID detection
    usb: gadget: use $(srctree) instead of $(PWD) for includes

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     
  • Some palmas based chip variants do not have OTG based ID logic.
    For these variants we rely on GPIO based USB ID detection.

    These chips do have VBUS comparator for VBUS detection so we
    continue to use the old way of detecting VBUS.

    Signed-off-by: Roger Quadros
    Signed-off-by: Sekhar Nori

    Roger Quadros
     
  • Merge in the updated iommu feature branch into remoteproc tree to
    pull in the suspend/resume support in the OMAP IOMMU driver. The
    following are the main changes:
    - improvements in the OMAP iommu to perform the enabling &
    disabling of the IOMMU from within the runtime pm callbacks
    - two new API that needs to be invoked from the OMAP remoteproc
    driver to suspend/resume the IOMMU.
    - locked TLB save & restore logic
    - add needed pdata quirks to all supported IOMMUs

    * 'iommu-linux-3.14.y' of git://git.ti.com/rpmsg/iommu:
    iommu/omap: add support for runtime auto suspend/resume
    iommu/omap: add logic to save/restore locked TLBs
    iommu/omap: introduce new API for suspend/resume
    iommu/omap: streamline enable/disable through runtime pm callbacks
    ARM: OMAP2+: add pdata-quirks for OMAP3 ISP IOMMU
    ARM: OMAP2+: Add iommu pdata-quirks for DRA7 DSP EDMA MMUs
    ARM: OMAP2+: plug in device_enable/idle ops for IOMMUs
    iommu/omap: add pdata ops for omap_device_enable/idle

    Signed-off-by: Suman Anna

    Suman Anna
     
  • This patches adds the support for the OMAP IOMMUs to be suspended
    during the auto suspend/resume of the OMAP remoteproc devices. The
    remote processors are auto suspended after a certain time of idle
    or inactivity period. This is done by extending the suspend/resume
    API added with an additional flag to indicate the auto-suspend.
    The runtime auto-suspend simply decrements and increments the
    runtime usage count of the IOMMU devices and let the context be
    saved/restored using the existing runtime pm callbacks.

    Signed-off-by: Suman Anna

    Suman Anna
     
  • The MMU registers for the remote processors lose their context
    in Open Switch Retention (OSWR) or device OFF modes. Hence, the
    context of the IOMMU needs to be saved before it is put to these
    lower power state (OSWR/OFF) and restored before it is powered
    up to ON again. The IOMMUs need to be active as long as the
    client devices that are present behind the IOMMU are active.

    This patch introduces two new API, omap_iommu_domain_suspend()
    and omap_iommu_domain_resume() to allow the client users of the
    IOMMU devices to suspend & resume the IOMMU devices during their
    suspend/resume operations. The API leverages the pm runtime
    framework API to implement suspend/resume functionality, and
    invoke the runtime PM callbacks. The PM runtime_suspend and
    runtime_callbacks already are used to enable, configure and
    disable the IOMMUs during the attaching and detaching of the
    client devices to the IOMMUs, and this code is reused during
    suspend/resume.

    NOTE:
    There are two other existing API, omap_iommu_save_ctx() and
    omap_iommu_restore_ctx(). These are left as is to support
    suspend/resume of devices on legacy OMAP3 SoC.

    Signed-off-by: Suman Anna

    Suman Anna
     
  • Add two new platform data ops to allow the OMAP iommu driver to
    be able to invoke the omap_device_enable and omap_device_idle
    from within the driver. These are being added to streamline the
    sequence between managing the hard reset lines and the clocks
    during the suspend path, as the default device pm_domain callback
    sequences in omap_device layer are not conducive for the OMAP
    IOMMU driver.

    This could have been done by expanding the existing pdata ops
    for reset management (like in the OMAP remoteproc driver), but
    this was chosen to avoid adding new code in a separate file in
    the mach-omap2 layer.

    Signed-off-by: Suman Anna

    Suman Anna
     
  • …nux-stable into ti-linux-3.14.y

    This is the 3.14.43 stable release

    * tag 'v3.14.43' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (52 commits)
    Linux 3.14.43
    kvm: arm64: vgic: fix hyp panic with 64k pages on juno platform
    arm64: kvm: use inner-shareable barriers for inner-shareable maintenance
    KVM: ARM: vgic: Fix the overlap check action about setting the GICD & GICC base address.
    KVM: arm/arm64: vgic: fix GICD_ICFGR register accesses
    ARM: KVM: trap VM system registers until MMU and caches are ON
    ARM: KVM: add world-switch for AMAIR{0,1}
    ARM: KVM: introduce per-vcpu HYP Configuration Register
    ARM: KVM: fix ordering of 64bit coprocessor accesses
    ARM: KVM: fix handling of trapped 64bit coprocessor accesses
    ARM: KVM: force cache clean on page fault when caches are off
    arm64: KVM: flush VM pages before letting the guest enable caches
    ARM: KVM: introduce kvm_p*d_addr_end
    arm64: KVM: trap VM system registers until MMU and caches are ON
    arm64: KVM: allows discrimination of AArch32 sysreg access
    arm64: KVM: force cache clean on page fault when caches are off
    deal with deadlock in d_walk()
    ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx helpers.
    ACPICA: Utilities: Cleanup to convert physical address printing formats.
    ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR().
    ...

    Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>

    Texas Instruments Auto Merger
     
  • commit f254e3c57b9d952e987502aefa0804c177dd2503 upstream.

    ACPICA commit 7d9fd64397d7c38899d3dc497525f6e6b044e0e3

    OSPMs like Linux expect an acpi_physical_address returning value from
    acpi_find_root_pointer(). This triggers warnings if sizeof (acpi_size) doesn't
    equal to sizeof (acpi_physical_address):
    drivers/acpi/osl.c:275:3: warning: passing argument 1 of 'acpi_find_root_pointer' from incompatible pointer type [enabled by default]
    In file included from include/acpi/acpi.h:64:0,
    from include/linux/acpi.h:36,
    from drivers/acpi/osl.c:41:
    include/acpi/acpixf.h:433:1: note: expected 'acpi_size *' but argument is of type 'acpi_physical_address *'
    This patch corrects acpi_find_root_pointer().

    Link: https://github.com/acpica/acpica/commit/7d9fd643
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Dirk Behme
    Signed-off-by: George G. Davis
    Signed-off-by: Greg Kroah-Hartman

    Lv Zheng
     
  • commit d8fd150fe3935e1692bf57c66691e17409ebb9c1 upstream.

    The range check for b-tree level parameter in nilfs_btree_root_broken()
    is wrong; it accepts the case of "level == NILFS_BTREE_LEVEL_MAX" even
    though the level is limited to values in the range of 0 to
    (NILFS_BTREE_LEVEL_MAX - 1).

    Since the level parameter is read from storage device and used to index
    nilfs_btree_path array whose element count is NILFS_BTREE_LEVEL_MAX, it
    can cause memory overrun during btree operations if the boundary value
    is set to the level parameter on device.

    This fixes the broken sanity check and adds a comment to clarify that
    the upper bound NILFS_BTREE_LEVEL_MAX is exclusive.

    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Ryusuke Konishi
     

15 May, 2015

2 commits

  • …ux-kernel/audio-display-linux-feature-tree into ti-linux-3.14.y

    TI-Feature: audio-display
    TI-Tree: git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree.git
    TI-Branch: audio-display-ti-linux-3.14.y

    * 'audio-display-ti-linux-3.14.y' of git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree:
    ARM: dts: dra72-evm: Add CAL DT node
    ARM: dts: DRA7: Add ports node to CAL dtsi entry
    media: v4l: ti-vpe: Document CAL driver
    media: v4l: ti-vpe: Add CAL v4l2 camera capture driver
    v4l: of: Read lane-polarities endpoint property
    dt: bindings: Add lane-polarity property to endpoint nodes

    Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>

    Texas Instruments Auto Merger
     
  • Add lane_polarities field to struct v4l2_of_bus_mipi_csi2 and write the
    contents of the lane-polarities property to it. The field tells the polarity
    of the physical lanes starting from the first one. Any unused lanes are
    ignored, i.e. only the polarity of the used lanes is specified.

    Also rework reading the "data-lanes" property a little.

    Signed-off-by: Sakari Ailus
    Acked-by: Laurent Pinchart
    Signed-off-by: Benoit Parrot
    Signed-off-by: Jyri Sarha

    Sakari Ailus
     

14 May, 2015

1 commit

  • …nux-stable into ti-linux-3.14.y

    This is the 3.14.42 stable release

    * tag 'v3.14.42' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (26 commits)
    Linux 3.14.42
    ARC: signal handling robustify
    UBI: fix soft lockup in ubi_check_volume()
    compal-laptop: Fix leaking hwmon device
    Drivers: hv: vmbus: Don't wait after requesting offers
    staging: panel: fix lcd type
    usb: gadget: printer: enqueue printer's response for setup request
    usb: host: ehci: use new USB_RESUME_TIMEOUT
    usb: host: oxu210hp: use new USB_RESUME_TIMEOUT
    usb: musb: use new USB_RESUME_TIMEOUT
    drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5
    3w-sas: fix command completion race
    3w-9xxx: fix command completion race
    3w-xxxx: fix command completion race
    ext4: fix data corruption caused by unwritten and delayed extents
    rbd: end I/O the entire obj_request on error
    tty/serial: at91: maxburst was missing for dma transfers
    ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE
    serial: of-serial: Remove device_type = "serial" registration
    ALSA: hda - Add mute-LED mode control to Thinkpad
    ...

    Conflicts:
    drivers/usb/musb/musb_core.c

    Signed-off-by: Dan Murphy <dmurphy@ti.com>

    Dan Murphy
     

13 May, 2015

2 commits

  • commit a2d97723cb3a7741af81868427b36bba274b681b upstream.

    Correct small copy and paste error where autodisable was not being
    enabled for the SOC_DAPM_SINGLE_TLV_AUTODISABLE control.

    Signed-off-by: Charles Keepax
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Charles Keepax
     
  • commit 7241ea558c6715501e777396b5fc312c372e11d9 upstream.

    Looks like audigy emu10k2 (probably emu10k1 - sb live too) support two
    modes for DMA. Second mode is useful for 64 bit os with more then 2 GB
    of ram (fixes problems with big soundfont loading)

    1) 32MB from 2 GB address space using 8192 pages (used now as default)
    2) 16MB from 4 GB address space using 4096 pages

    Mode is set using HCFG_EXPANDED_MEM flag in HCFG register.
    Also format of emu10k2 page table is then different.

    Signed-off-by: Peter Zubaj
    Tested-by: Takashi Iwai
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Peter Zubaj
     

11 May, 2015

2 commits

  • …rnel/platform-linux-feature-tree into ti-linux-3.14.y

    TI-Feature: platform_base
    TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
    TI-Branch: platform-ti-linux-3.14.y

    * 'platform-ti-linux-3.14.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
    ARM: dts: DRA7: Add DT node for AES2 IP
    ARM: DRA7: hwmod: Add data for AES2 IP
    crypto: omap-aes - Add support for multiple cores
    crypto: omap-aes - Fix registration of Algos
    crypto: omap-aes - Fix enabling clocks
    crypto: tcrypt - Added speed tests for Async AEAD crypto alogrithms
    crypto: omap-aes - Add support for GCM mode
    crypto: omap-aes - Fix configuring of AES mode
    crypto: omap-aes - Add support for lengths not aligned with AES_BLOCK_SIZE

    Conflicts:
    arch/arm/boot/dts/dra7.dtsi

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     
  • OMAP AES hw supports aes gcm mode.
    Adding support for GCM mode in omap-aes driver.

    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     

07 May, 2015

6 commits

  • …nux-stable into ti-linux-3.14.y

    This is the 3.14.41 stable release

    * tag 'v3.14.41' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (93 commits)
    Linux 3.14.41
    nosave: consolidate __nosave_{begin,end} in <asm/sections.h>
    fs: take i_mutex during prepare_binprm for set[ug]id executables
    driver core: bus: Goto appropriate labels on failure in bus_add_device
    memstick: mspro_block: add missing curly braces
    C6x: time: Ensure consistency in __init
    crypto: omap-aes - Fix support for unequal lengths
    wl18xx: show rx_frames_per_rates as an array as it really is
    lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR
    e1000: add dummy allocator to fix race condition between mtu change and netpoll
    ksoftirqd: Enable IRQs and call cond_resched() before poking RCU
    RCU pathwalk breakage when running into a symlink overmounting something
    drm/i915: cope with large i2c transfers
    drm/radeon: fix doublescan modes (v2)
    i2c: core: Export bus recovery functions
    IB/mlx4: Fix WQE LSO segment calculation
    IB/core: don't disallow registering region starting at 0x0
    IB/core: disallow registering 0-sized memory region
    stk1160: Make sure current buffer is released
    mvsas: fix panic on expander attached SATA devices
    ...

    Signed-off-by: Texas Instruments Auto Merger <lcpd_integration@list.ti.com>

    Texas Instruments Auto Merger
     
  • commit 7f8998c7aef3ac9c5f3f2943e083dfa6302e90d0 upstream.

    The different architectures used their own (and different) declarations:

    extern __visible const void __nosave_begin, __nosave_end;
    extern const void __nosave_begin, __nosave_end;
    extern long __nosave_begin, __nosave_end;

    Consolidate them using the first variant in .

    Signed-off-by: Geert Uytterhoeven
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Guan Xuetao
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Geert Uytterhoeven
     
  • commit 2b8760100e1de69b6ff004c986328a82947db4ad upstream.

    ACPICA commit aacf863cfffd46338e268b7415f7435cae93b451

    It is reported that on a physically 64-bit addressed machine, 32-bit kernel
    can trigger crashes in accessing the memory regions that are beyond the
    32-bit boundary. The region field's start address should still be 32-bit
    compliant, but after a calculation (adding some offsets), it may exceed the
    32-bit boundary. This case is rare and buggy, but there are real BIOSes
    leaked with such issues (see References below).

    This patch fixes this gap by always defining IO addresses as 64-bit, and
    allows OSPMs to optimize it for a real 32-bit machine to reduce the size of
    the internal objects.

    Internal acpi_physical_address usages in the structures that can be fixed
    by this change include:
    1. struct acpi_object_region:
    acpi_physical_address address;
    2. struct acpi_address_range:
    acpi_physical_address start_address;
    acpi_physical_address end_address;
    3. struct acpi_mem_space_context;
    acpi_physical_address address;
    4. struct acpi_table_desc
    acpi_physical_address address;
    See known issues 1 for other usages.

    Note that acpi_io_address which is used for ACPI_PROCESSOR may also suffer
    from same problem, so this patch changes it accordingly.

    For iasl, it will enforce acpi_physical_address as 32-bit to generate
    32-bit OSPM compatible tables on 32-bit platforms, we need to define
    ACPI_32BIT_PHYSICAL_ADDRESS for it in acenv.h.

    Known issues:
    1. Cleanup of mapped virtual address
    In struct acpi_mem_space_context, acpi_physical_address is used as a virtual
    address:
    acpi_physical_address mapped_physical_address;
    It is better to introduce acpi_virtual_address or use acpi_size instead.
    This patch doesn't make such a change. Because this should be done along
    with a change to acpi_os_map_memory()/acpi_os_unmap_memory().
    There should be no functional problem to leave this unchanged except
    that only this structure is enlarged unexpectedly.

    Link: https://github.com/acpica/acpica/commit/aacf863c
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=87971
    Reference: https://bugzilla.kernel.org/show_bug.cgi?id=79501
    Reported-and-tested-by: Paul Menzel
    Reported-and-tested-by: Sial Nije
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Greg Kroah-Hartman

    Lv Zheng
     
  • commit c8e639852ad720499912acedfd6b072325fd2807 upstream.

    This patch fixes a bug for COMPARE_AND_WRITE handling with
    fabrics using SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC.

    It adds the missing allocation for cmd->t_bidi_data_sg within
    transport_generic_new_cmd() that is used by COMPARE_AND_WRITE
    for the initial READ payload, even if the fabric is already
    providing a pre-allocated buffer for cmd->t_data_sg.

    Also, fix zero-length COMPARE_AND_WRITE handling within the
    compare_and_write_callback() and target_complete_ok_work()
    to queue the response, skipping the initial READ.

    This fixes COMPARE_AND_WRITE emulation with loopback, vhost,
    and xen-backend fabric drivers using SG_TO_MEM_NOALLOC.

    Reported-by: Christoph Hellwig
    Cc: Christoph Hellwig
    Signed-off-by: Nicholas Bellinger
    Signed-off-by: Greg Kroah-Hartman

    Nicholas Bellinger
     
  • commit 62f0342de1f012f3e90607d39e20fce811391169 upstream.

    Every USB Host controller should use this new
    macro to define for how long resume signalling
    should be driven on the bus.

    Currently, almost every single USB controller
    is using a 20ms timeout for resume signalling.

    That's problematic for two reasons:

    a) sometimes that 20ms timer expires a little
    before 20ms, which makes us fail certification

    b) some (many) devices actually need more than
    20ms resume signalling.

    Sure, in case of (b) we can state that the device
    is against the USB spec, but the fact is that
    we have no control over which device the certification
    lab will use. We also have no control over which host
    they will use. Most likely they'll be using a Windows
    PC which, again, we have no control over how that
    USB stack is written and how long resume signalling
    they are using.

    At the end of the day, we must make sure Linux passes
    electrical compliance when working as Host or as Device
    and currently we don't pass compliance as host because
    we're driving resume signallig for exactly 20ms and
    that confuses certification test setup resulting in
    Certification failure.

    Acked-by: Greg Kroah-Hartman
    Acked-by: Peter Chen
    Signed-off-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     
  • [ Upstream commit 2ea2f62c8bda242433809c7f4e9eae1c52c40bbe ]

    When I added pfmemalloc support in build_skb(), I forgot netlink
    was using build_skb() with a vmalloc() area.

    In this patch I introduce __build_skb() for netlink use,
    and build_skb() is a wrapper handling both skb->head_frag and
    skb->pfmemalloc

    This means netlink no longer has to hack skb->head_frag

    [ 1567.700067] kernel BUG at arch/x86/mm/physaddr.c:26!
    [ 1567.700067] invalid opcode: 0000 [#1] PREEMPT SMP KASAN
    [ 1567.700067] Dumping ftrace buffer:
    [ 1567.700067] (ftrace buffer empty)
    [ 1567.700067] Modules linked in:
    [ 1567.700067] CPU: 9 PID: 16186 Comm: trinity-c182 Not tainted 4.0.0-next-20150424-sasha-00037-g4796e21 #2167
    [ 1567.700067] task: ffff880127efb000 ti: ffff880246770000 task.ti: ffff880246770000
    [ 1567.700067] RIP: __phys_addr (arch/x86/mm/physaddr.c:26 (discriminator 3))
    [ 1567.700067] RSP: 0018:ffff8802467779d8 EFLAGS: 00010202
    [ 1567.700067] RAX: 000041000ed8e000 RBX: ffffc9008ed8e000 RCX: 000000000000002c
    [ 1567.700067] RDX: 0000000000000004 RSI: 0000000000000000 RDI: ffffffffb3fd6049
    [ 1567.700067] RBP: ffff8802467779f8 R08: 0000000000000019 R09: ffff8801d0168000
    [ 1567.700067] R10: ffff8801d01680c7 R11: ffffed003a02d019 R12: ffffc9000ed8e000
    [ 1567.700067] R13: 0000000000000f40 R14: 0000000000001180 R15: ffffc9000ed8e000
    [ 1567.700067] FS: 00007f2a7da3f700(0000) GS:ffff8801d1000000(0000) knlGS:0000000000000000
    [ 1567.700067] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 1567.700067] CR2: 0000000000738308 CR3: 000000022e329000 CR4: 00000000000007e0
    [ 1567.700067] Stack:
    [ 1567.700067] ffffc9000ed8e000 ffff8801d0168000 ffffc9000ed8e000 ffff8801d0168000
    [ 1567.700067] ffff880246777a28 ffffffffad7c0a21 0000000000001080 ffff880246777c08
    [ 1567.700067] ffff88060d302e68 ffff880246777b58 ffff880246777b88 ffffffffad9a6821
    [ 1567.700067] Call Trace:
    [ 1567.700067] build_skb (include/linux/mm.h:508 net/core/skbuff.c:316)
    [ 1567.700067] netlink_sendmsg (net/netlink/af_netlink.c:1633 net/netlink/af_netlink.c:2329)
    [ 1567.774369] ? sched_clock_cpu (kernel/sched/clock.c:311)
    [ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273)
    [ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273)
    [ 1567.774369] sock_sendmsg (net/socket.c:614 net/socket.c:623)
    [ 1567.774369] sock_write_iter (net/socket.c:823)
    [ 1567.774369] ? sock_sendmsg (net/socket.c:806)
    [ 1567.774369] __vfs_write (fs/read_write.c:479 fs/read_write.c:491)
    [ 1567.774369] ? get_lock_stats (kernel/locking/lockdep.c:249)
    [ 1567.774369] ? default_llseek (fs/read_write.c:487)
    [ 1567.774369] ? vtime_account_user (kernel/sched/cputime.c:701)
    [ 1567.774369] ? rw_verify_area (fs/read_write.c:406 (discriminator 4))
    [ 1567.774369] vfs_write (fs/read_write.c:539)
    [ 1567.774369] SyS_write (fs/read_write.c:586 fs/read_write.c:577)
    [ 1567.774369] ? SyS_read (fs/read_write.c:577)
    [ 1567.774369] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63)
    [ 1567.774369] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2594 kernel/locking/lockdep.c:2636)
    [ 1567.774369] ? trace_hardirqs_on_thunk (arch/x86/lib/thunk_64.S:42)
    [ 1567.774369] system_call_fastpath (arch/x86/kernel/entry_64.S:261)

    Fixes: 79930f5892e ("net: do not deplete pfmemalloc reserve")
    Signed-off-by: Eric Dumazet
    Reported-by: Sasha Levin
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric Dumazet
     

06 May, 2015

1 commit

  • …egration-tree/connectivity-ti-linux-kernel into ti-linux-3.14.y

    TI-Feature: connectivity
    TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
    TI-Branch: connectivity-ti-linux-3.14.y

    * 'connectivity-ti-linux-3.14.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel: (125 commits)
    usb: phy: mv-usb: fix usb_phy build errors
    tty: serial: 8250: omap: synchronize rx_running
    time: Export nsecs_to_jiffies()
    ti_config_fragments/connectivity.cfg: Enable USB_OTG and switch to EXTCON_USB_GPIO
    ARM: dts: am437x-sk-evm: Fix usb2_phy2 pinctrl
    ARM: dts: am43xx: Enable dual-role on USB1
    usb: dwc3: gadget: Fix suspend/resume during dual-role mode
    usb: dwc3: save/restore OTG registers during suspend/resume
    usb: dwc3: core: make dual-role work with OTG irq
    usb: dwc3: core.h: add some register definitions
    ARM: dts: dra7*-evm: Enable dual-role for usb1
    usb: dwc3: add dual-role support
    usb: otg: hub: Notify OTG fsm when A device sets b_hnp_enable
    usb: otg: Add dual-role device (DRD) support
    usb: udc-core: fix lock circular dependency on udc_lock
    usb: gadget: udc: adapt to OTG core
    usb: hcd: Adapt to OTG core
    usb: otg: add OTG core
    usb: gadget.h: Add OTG to gadget interface
    usb: hcd.h: Add OTG to HCD interface
    ...

    Signed-off-by: Dan Murphy <DMurphy@ti.com>

    Dan Murphy
     

05 May, 2015

3 commits

  • DRD mode is a reduced functionality OTG mode. In this mode
    we don't support SRP, HNP and dynamic role-swap.

    In DRD operation, the controller mode (Host or Peripheral)
    is decided based on the ID pin status. Once a cable plug (Type-A
    or Type-B) is attached the controller selects the state
    and doesn't change till the cable in unplugged and a different
    cable type is inserted.

    As we don't need most of the complex OTG states and OTG timers
    we implement a lean DRD state machine in usb-otg.c.
    The DRD state machine is only interested in 2 hardware inputs
    'id' and 'vbus; that are still passed via the origintal struct otg_fsm.

    Most of the usb-otg.c functionality remains the same except
    adding a new parameter to usb_otg_register() to indicate that
    the OTG controller needs to operate in DRD mode.

    Signed-off-by: Roger Quadros
    Signed-off-by: Sekhar Nori

    Roger Quadros
     
  • The OTG core instantiates the OTG Finite State Machine
    per OTG controller and manages starting/stopping the
    host and gadget controllers based on the bus state.

    It provides APIs for the following tasks

    - Registering an OTG capable controller
    - Registering Host and Gadget controllers to OTG core
    - Providing inputs to and kicking the OTG state machine

    TODO:
    - sysfs interface to allow application inputs to OTG state machine
    - otg class?

    Signed-off-by: Roger Quadros
    [nsekhar@ti.com: remove unused if() block in usb_otg_work() and sparse fixes]
    Signed-off-by: Sekhar Nori

    Roger Quadros
     
  • The OTG core will use struct otg_gadget_ops to
    start/stop the gadget controller.

    The main purpose of this interface is to avoid directly
    calling usb_gadget_start/stop() from the OTG core as they
    wouldn't be defined in the built-in symbol table if
    CONFIG_USB_GADGET is m.

    Signed-off-by: Roger Quadros
    Signed-off-by: Sekhar Nori

    Roger Quadros