Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24d9a554 authored by Kyle Yan's avatar Kyle Yan Committed by Prasad Sodagudi
Browse files

Merge remote-tracking branch 'origin/tmp-41f1830f' into rc5



* origin/tmp-41f1830f:
  Linux 4.12-rc6
  mm: larger stack guard gap, between vmas
  virtio_balloon: disable VIOMMU support
  mm: correct the comment when reclaimed pages exceed the scanned pages
  userfaultfd: shmem: handle coredumping in handle_userfault()
  mm: numa: avoid waiting on freed migrated pages
  swap: cond_resched in swap_cgroup_prepare()
  mm/memory-failure.c: use compound_head() flags for huge pages
  perf unwind: Report module before querying isactivation in dwfl unwind
  fs: pass on flags in compat_writev
  objtool: Add fortify_panic as __noreturn function
  powerpc/debug: Add missing warn flag to WARN_ON's non-builtin path
  USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks
  drm: mxsfb_crtc: Reset the eLCDIF controller
  drm/mgag200: Fix to always set HiPri for G200e4 V2
  i2c: ismt: fix wrong device address when unmap the data buffer
  i2c: rcar: use correct length when unmapping DMA
  powerpc/xive: Fix offset for store EOI MMIOs
  drm/tegra: Correct idr_alloc() minimum id
  drm/tegra: Fix lockup on a use of staging API
  gpu: host1x: Fix error handling
  firmware: dmi_scan: Check DMI structure length
  firmware: dmi: Fix permissions of product_family
  firmware: dmi_scan: Make dmi_walk and dmi_walk_early return real error codes
  firmware: dmi_scan: Look for SMBIOS 3 entry point first
  fs: don't forget to put old mntns in mntns_install
  Hang/soft lockup in d_invalidate with simultaneous calls
  MIPS: .its targets depend on vmlinux
  MIPS: Fix bnezc/jialc return address calculation
  ufs_truncate_blocks(): fix the case when size is in the last direct block
  ufs: more deadlock prevention on tail unpacking
  ufs: avoid grabbing ->truncate_mutex if possible
  i40e: Fix a sleep-in-atomic bug
  ufs_get_locked_page(): make sure we have buffer_heads
  ufs: fix s_size/s_dsize users
  ufs: fix reserved blocks check
  ufs: make ufs_freespace() return signed
  net: don't global ICMP rate limit packets originating from loopback
  block: Fix a blk_exit_rl() regression
  rdma/cxgb4: Fix memory leaks during module exit
  net/act_pedit: fix an error code
  ufs: fix logics in "ufs: make fsck -f happy"
  IB/ipoib: Fix memory leak in create child syscall
  IB/ipoib: Fix access to un-initialized napi struct
  IB/ipoib: Delete napi in device uninit default
  IB/ipoib: Limit call to free rdma_netdev for capable devices
  IB/ipoib: Fix memory leaks for child interfaces priv
  net: update undefined ->ndo_change_mtu() comment
  perf tools: Fix build with ARCH=x86_64
  perf evsel: Fix probing of precise_ip level for default cycles event
  net_sched: move tcf_lock down after gen_replace_estimator()
  ceph: unify inode i_ctime update
  ceph: use current_kernel_time() to get request time stamp
  ceph: check i_nlink while converting a file handle to dentry
  rxe: Fix a sleep-in-atomic bug in post_one_send
  RDMA/qedr: Add 64KB PAGE_SIZE support to user-space queues
  RDMA/qedr: Initialize byte_len in WC of READ and SEND commands
  RDMA/bnxt_re: Remove FMR support
  RDMA/bnxt_re: Fix RQE posting logic
  RDMA/bnxt_re: Add HW workaround for avoiding stall for UD QPs
  RDMA/bnxt_re: Dereg MR in FW before freeing the fast_reg_page_list
  RDMA/bnxt_re: HW workarounds for handling specific conditions
  drm/radeon: Fix overflow of watermark calcs at > 4k resolutions.
  drm/amdgpu: Fix overflow of watermark calcs at > 4k resolutions.
  drm/radeon: fix "force the UVD DPB into VRAM as well"
  Staging: rtl8723bs: fix an error code in isFileReadable()
  video: fbdev: udlfb: drop log level for blanking
  video: fbdev: via: remove possibly unused variables
  video: fbdev: add missing USB-descriptor endianness conversions
  video: fbdev: avoid int-in-bool-context warning
  powerpc/npu-dma: Remove spurious WARN_ON when a PCI device has no of_node
  caif: Add sockaddr length check before accessing sa_family in connect handler
  RDMA/bnxt_re: Fixing the Control path command and response handling
  iio: buffer-dmaengine: Add missing header buffer_impl.h
  iio: buffer-dma: Add missing header buffer_impl.h
  Revert "leds: handle suspend/resume in heartbeat trigger"
  leds: bcm6328: fix signal source assignment for leds 4 to 7
  platform/x86: intel_telemetry_debugfs: fix oops when load/unload module
  qed: fix dump of context data
  qmi_wwan: new Telewell and Sierra device IDs
  net: phy: Fix MDIO_THUNDER dependencies
  netconsole: Remove duplicate "netconsole: " logging prefix
  igmp: acquire pmc lock for ip_mc_clear_src()
  r8152: give the device version
  net: rps: fix uninitialized symbol warning
  HID: let generic driver yield control iff specific driver has been enabled
  mac80211: don't send SMPS action frame in AP mode when not needed
  mac80211/wpa: use constant time memory comparison for MACs
  mac80211: set bss_info data before configuring the channel
  mac80211: remove 5/10 MHz rate code from station MLME
  mac80211: Fix incorrect condition when checking rx timestamp
  mac80211: don't look at the PM bit of BAR frames
  drm/i915: Fix GVT-g PVINFO version compatibility check
  drm/i915: Fix SKL+ watermarks for 90/270 rotation
  drm/i915: Fix scaling check for 90/270 degree plane rotation
  selinux: fix double free in selinux_parse_opts_str()
  x86/mm: Disable 1GB direct mappings when disabling 2MB mappings
  i40e: fix handling of HW ATR eviction
  genirq: Release resources in __setup_irq() error path
  PCI: endpoint: Select CRC32 to fix test build error
  hsr: fix incorrect warning
  x86/debug: Handle early WARN_ONs proper
  tick/broadcast: Make tick_broadcast_setup_oneshot() static
  usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk
  usb: xhci: Fix USB 3.1 supported protocol parsing
  proc: snmp6: Use correct type in memset
  cpuidle: dt: Add missing 'of_node_put()'
  cpufreq: conservative: Allow down_threshold to take values from 1 to 10
  Revert "cpufreq: schedutil: Reduce frequencies slower"
  ACPICA: Tables: Mechanism to handle late stage acpi_get_table() imbalance
  configfs: Introduce config_item_get_unless_zero()
  configfs: Fix race between create_link and configfs_rmdir
  mmc: meson-gx: work around broken SDIO with certain WiFi chips
  drm: dw-hdmi: Fix compilation breakage by selecting REGMAP_MMIO
  PM / devfreq: exynos-ppmu: Staticize event list
  PM / devfreq: exynos-ppmu: Handle return value of clk_prepare_enable
  PM / devfreq: exynos-nocp: Handle return value of clk_prepare_enable
  Linux 4.12-rc5
  compiler, clang: properly override 'inline' for clang
  net: ipmr: Fix some mroute forwarding issues in vrf's
  net: ena: update ena driver to version 1.1.7
  net: ena: bug fix in lost tx packets detection mechanism
  net: ena: disable admin msix while working in polling mode
  net: ena: fix theoretical Rx hang on low memory systems
  net: ena: add missing unmap bars on device removal
  net: ena: fix race condition between submit and completion admin command
  net: ena: add missing return when ena_com_get_io_handlers() fails
  net: ena: fix bug that might cause hang after consecutive open/close interface.
  net: ena: fix rare uncompleted admin command false alarm
  iio: adc: meson-saradc: fix potential crash in meson_sar_adc_clear_fifo
  net/mlx5: Enable 4K UAR only when page size is bigger than 4K
  net/mlx5e: Fix wrong indications in DIM due to counter wraparound
  net/mlx5e: Added BW check for DIM decision mechanism
  net/mlx5: Remove several module events out of ethtool stats
  net/mlx5: Continue health polling until it is explicitly stopped
  net/mlx5: Fix create vport flow table flow
  sched/core: Idle_task_exit() shouldn't use switch_mm_irqs_off()
  sched/fair: Fix typo in printk message
  KVM: async_pf: avoid async pf injection when in guest mode
  hexagon: Use raw_copy_to_user
  net: mvpp2: use {get, put}_cpu() instead of smp_processor_id()
  net: mvpp2: remove mvpp2_bm_cookie_{build,pool_get}
  net: tipc: Fix a sleep-in-atomic bug in tipc_msg_reverse
  net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx
  Revert "net: fec: Add a fec_enet_clear_ethtool_stats() stub for CONFIG_M5272"
  sctp: disable BH in sctp_for_each_endpoint
  net: fec: Add a fec_enet_clear_ethtool_stats() stub for CONFIG_M5272
  l2tp: cast l2tp traffic counter to unsigned
  net: aquantia: atlantic: remove declaration of hw_atl_utils_hw_set_power
  bnx2x: Don't post statistics to malicious VFs
  bnx2x: Allow vfs to disable txvlan offload
  ufs: we need to sync inode before freeing it
  excessive checks in ufs_write_failed() and ufs_evict_inode()
  ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path
  ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments()
  ufs: set correct ->s_maxsize
  ufs: restore maintaining ->i_blocks
  fix ufs_isblockset()
  ufs: restore proper tail allocation
  Btrfs: fix delalloc accounting leak caused by u32 overflow
  Btrfs: clear EXTENT_DEFRAG bits in finish_ordered_io
  btrfs: tree-log.c: Wrong printk information about namelen
  mac80211: free netdev on dev_alloc_name() error
  net: rps: send out pending IPI's on CPU hotplug
  Input: synaptics-rmi4 - register F03 port as pass-through serio
  stmmac: fix for hw timestamp of GMAC3 unit
  stmmac: fix ptp header for GMAC3 hw timestamp
  Fix an intermittent pr_emerg warning about lo becoming free.
  device-dax: fix 'dax' device filesystem inode destruction crash
  af_unix: Add sockaddr length checks before accessing sa_family in bind and connect handlers
  net: phy: add missing SPEED_14000
  USB: gadget: fix GPF in gadgetfs
  efi: Fix boot panic because of invalid BGRT image address
  can: enable CAN FD for virtual CAN devices by default
  can: af_can: namespace support: fix lockdep splat: properly initialize spin_lock
  can: gs_usb: fix memory leak in gs_cmd_reset()
  can: peak_usb: fix product-id endianness in error message
  can: peak_canfd: fix uninitialized symbol warnings
  can: dev: make can_change_state() robust to be called with cf == NULL
  cxl: Avoid double free_irq() for psl,slice interrupts
  gpio: mvebu: fix gpio bank registration when pwm is used
  gpio: mvebu: fix blink counter register selection
  KEYS: fix refcount_inc() on zero
  KEYS: Convert KEYCTL_DH_COMPUTE to use the crypto KPP API
  crypto : asymmetric_keys : verify_pefile:zero memory content before freeing
  KEYS: DH: add __user annotations to keyctl_kdf_params
  KEYS: DH: ensure the KDF counter is properly aligned
  KEYS: DH: don't feed uninitialized "otherinfo" into KDF
  KEYS: DH: forbid using digest_null as the KDF hash
  KEYS: sanitize key structs before freeing
  KEYS: trusted: sanitize all key material
  KEYS: encrypted: sanitize all key material
  KEYS: user_defined: sanitize key payloads
  KEYS: sanitize add_key() and keyctl() key payloads
  KEYS: fix freeing uninitialized memory in key_update()
  KEYS: fix dereferencing NULL payload with nonzero length
  KEYS: encrypted: use constant-time HMAC comparison
  KEYS: encrypted: fix race causing incorrect HMAC calculations
  KEYS: encrypted: fix buffer overread in valid_master_desc()
  KEYS: encrypted: avoid encrypting/decrypting stack buffers
  KEYS: put keyring if install_session_keyring_to_cred() fails
  KEYS: Delete an error message for a failed memory allocation in get_derived_key()
  X.509: Fix error code in x509_cert_parse()
  security: use READ_ONCE instead of deprecated ACCESS_ONCE
  security/keys: add CONFIG_KEYS_COMPAT to Kconfig
  net: vrf: Make add_fib_rules per network namespace flag
  bpf, tests: fix endianness selection
  ethtool.h: remind to update 802.3ad when adding new speeds
  bonding: fix 802.3ad support for 14G speed
  bonding: fix 802.3ad support for 5G and 50G speeds
  openvswitch: warn about missing first netlink attribute
  [media] media/cec.h: use IS_REACHABLE instead of IS_ENABLED
  ila_xlat: add missing hash secret initialization
  perf symbols: Kill dso__build_id_is_kmod()
  perf symbols: Keep DSO->symtab_type after decompress
  perf tests: Decompress kernel module before objdump
  perf tools: Consolidate error path in __open_dso()
  perf tools: Decompress kernel module when reading DSO data
  perf annotate: Use dso__decompress_kmodule_path()
  perf tools: Introduce dso__decompress_kmodule_{fd,path}
  perf tools: Fix a memory leak in __open_dso()
  perf annotate: Fix symbolic link of build-id cache
  net: Fix build regression in rtl8723bs staging driver.
  block, bfq: access and cache blkg data only when safe
  netvsc: move filter setting to rndis_device
  netvsc: fix net poll mode
  netvsc: fix rcu dereference warning from ethtool
  srcu: Allow use of Classic SRCU from both process and interrupt context
  srcu: Allow use of Tiny/Tree SRCU from both process and interrupt context
  xfs: fix spurious spin_is_locked() assert failures on non-smp kernels
  net: ipv6: Release route when device is unregistering
  net: Zero ifla_vf_info in rtnl_fill_vfinfo()
  decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb
  Revert "decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb"
  net: emac: fix and unify emac_mdio functions
  net: emac: fix reset timeout with AR8035 phy
  decnet: dn_rtmsg: Improve input length sanitization in dnrmg_receive_user_skb
  hsi: Fix build regression due to netdev destructor fix.
  net: s390: fix up for "Fix inconsistent teardown and release of private netdev state"
  drm/i915: fix warning for unused variable
  Fix loop device flush before configure v3
  s390: update defconfig
  MIPS: kprobes: flush_insn_slot should flush only if probe initialised
  KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation
  MIPS: ftrace: fix init functions tracing
  MIPS: mm: adjust PKMAP location
  MIPS: highmem: ensure that we don't use more than one page for PTEs
  MIPS: mm: fixed mappings: correct initialisation
  MIPS: perf: Remove incorrect odd/even counter handling for I6400
  powerpc/book3s64: Move PPC_DT_CPU_FTRs and enable it by default
  powerpc/mm/4k: Limit 4k page size config to 64TB virtual address space
  cxl: Fix error path on bad ioctl
  [media] cec: race fix: don't return -ENONET in cec_receive()
  Revert "printk: fix double printing with earlycon"
  crypto: Work around deallocated stack frame reference gcc bug on sparc.
  perf/core: Drop kernel samples even though :u is specified
  x86/microcode/intel: Clear patch pointer before jettisoning the initrd
  MAINTAINERS: update email address for Jessica Yu
  random: invalidate batched entropy after crng init
  perf script python: Remove dups in documentation examples
  perf script python: Updated trace_unhandled() signature
  perf script python: Fix wrong code snippets in documentation
  perf script: Fix documentation errors
  perf script: Fix outdated comment for perf-trace-python
  perf probe: Fix examples section of documentation
  random: use lockless method of accessing and updating f->reg_idx
  net: Fix inconsistent teardown and release of private netdev state.
  bpf, arm64: use separate register for state in stxr
  net: mvpp2: do not bypass the mvpp22_port_mii_set function
  ibmvnic: Return failure on attempted mtu change
  IB/addr: Fix setting source address in addr6_resolve()
  Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled
  net: fix up hash documentation
  bnx2x: fix pf2vf bulletin DMA mapping leak
  net: don't call strlen on non-terminated string in dev_set_alias()
  blk-throttle: set default latency baseline for harddisk
  drm/meson: Fix driver bind when only CVBS is available
  blk-throttle: fix NULL pointer dereference in throtl_schedule_pending_timer
  drm/i915: Fix 90/270 rotated coordinates for FBC
  drm/i915: Restore has_fbc=1 for ILK-M
  drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail
  drm/i915: Fix logical inversion for gen4 quirking
  drm/i915: Guard against i915_ggtt_disable_guc() being invoked unconditionally
  drm/i915: Always recompute watermarks when distrust_bios_wm is set, v2.
  drm/i915: Prevent the system suspend complete optimization
  drm/i915/psr: disable psr2 for resolution greater than 32X20
  drm/i915: Hold a wakeref for probing the ring registers
  drm/i915: Short-circuit i915_gem_wait_for_idle() if already idle
  drm/i915: Disable decoupled MMIO
  drm/i915/guc: Remove stale comment for q_fail
  drm/vmwgfx: Bump driver minor and date
  drm/vmwgfx: Remove unused legacy cursor functions
  drm/vmwgfx: fix spelling mistake "exeeds" -> "exceeds"
  drm/vmwgfx: Fix large topology crash
  drm/vmwgfx: Make sure to update STDU when FB is updated
  drm/vmwgfx: Make sure backup_handle is always valid
  drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve()
  drm/vmwgfx: Don't create proxy surface for cursor
  drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl()
  drm/i915: Serialize GTT/Aperture accesses on BXT
  xen/privcmd: Support correctly 64KB page granularity when mapping memory
  nvme: relax APST default max latency to 100ms
  nvme: only consider exit latency when choosing useful non-op power states
  nvme-fc: fix missing put reference on controller create failure
  nvme-fc: on lldd/transport io error, terminate association
  nvme-rdma: fast fail incoming requests while we reconnect
  nvme-pci: fix multiple ctrl removal scheduling
  nvme: fix hang in remove path
  ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT
  ALSA: timer: Fix race between read and ioctl
  MAINTAINERS: EP93XX: Update maintainership
  Revert "ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle"
  compiler, clang: suppress warning for unused static inline functions
  sparc64: delete old wrap code
  sparc64: new context wrap
  sparc64: add per-cpu mm of secondary contexts
  sparc64: redefine first version
  sparc64: combine activate_mm and switch_mm
  sparc64: reset mm cpumask after wrap
  sparc/mm/hugepages: Fix setup_hugepagesz for invalid values.
  sparc: Machine description indices can vary
  sparc64: mm: fix copy_tsb to correctly copy huge page TSBs
  arch/sparc: support NR_CPUS = 4096
  net: stmmac: fix a broken u32 less than zero check
  net: stmmac: fix completely hung TX when using TSO
  net: ethoc: enable NAPI before poll may be scheduled
  arm: KVM: Allow unaligned accesses at HYP
  arm64: KVM: Allow unaligned accesses at EL2
  arm64: KVM: Preserve RES1 bits in SCTLR_EL2
  net: bridge: fix a null pointer dereference in br_afspec
  ravb: Fix use-after-free on `ifconfig eth0 down`
  net/ipv6: Fix CALIPSO causing GPF with datagram support
  net: stmmac: ensure jumbo_frm error return is correctly checked for -ve value
  elevator: fix truncation of icq_cache_name
  blk-mq: fix direct issue
  blk-mq: pass correct hctx to blk_mq_try_issue_directly
  Revert "sit: reload iphdr in ipip6_rcv"
  drm: kirin: Fix drm_of_find_panel_or_bridge conversion
  staging: ccree: fix buffer copy
  KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages
  KVM: nVMX: Fix exception injection
  kvm: async_pf: fix rcu_irq_enter() with irqs enabled
  usb: gadget: composite: make sure to reactivate function on unbind
  powerpc/perf: Fix Power9 test_adder fields
  powerpc/numa: Fix percpu allocations to be NUMA aware
  ALSA: hda/realtek - Reorder ALC269 ASUS quirk entries
  ALSA: hda/realtek: Fix mic and headset jack sense on Asus X705UD
  [media] sir_ir: infinite loop in interrupt handler
  [media] cec-notifier.h: handle unreachable CONFIG_CEC_CORE
  [media] cec: improve MEDIA_CEC_RC dependencies
  [media] vb2: Fix an off by one error in 'vb2_plane_vaddr'
  [media] rainshadow-cec: Fix missing spin_lock_init()
  [media] tc358743: fix register i2c_rd/wr function fix
  i40e/i40evf: proper update of the page_offset field
  i40e: Fix state flags for bit set and clean operations of PF
  cxl: Avoid double free_irq() for psl,slice interrupts
  powerpc/kernel: Initialize load_tm on task creation
  gpu: ipu-v3: Fix CSI selection for VDIC
  drm/imx: imx-ldb: Accept drm_of_find_panel_or_bridge failure
  gpu: ipu-v3: pre: only use internal clock gating
  KVM: arm/arm64: vgic-v3: Fix nr_pre_bits bitfield extraction
  drm/nouveau/tmr: fully separate alarm execution/pending lists
  drm/nouveau: enable autosuspend only when it'll actually be used
  drm/nouveau: replace multiple open-coded runpm support checks with function
  drm/nouveau/kms/nv50: add null check before pointer dereference
  xtensa: don't use linux IRQ #0
  md: initialise ->writes_pending in personality modules.
  Revert "ACPICA: Disassembler: Enhance resource descriptor detection"
  xtensa: reduce double exception literal reservation
  iwlwifi: fix host command memory leaks
  iwlwifi: fix min API version for 7265D, 3168, 8000 and 8265
  iwlwifi: mvm: clear new beacon command template struct
  iwlwifi: mvm: don't fail when removing a key from an inexisting sta
  iwlwifi: pcie: only use d0i3 in suspend/resume if system_pm is set to d0i3
  iwlwifi: mvm: fix firmware debug restart recording
  iwlwifi: tt: move ucode_loaded check under mutex
  iwlwifi: mvm: support ibss in dqa mode
  iwlwifi: mvm: Fix command queue number on d0i3 flow
  iwlwifi: mvm: rs: start using LQ command color
  sparc64: Add __multi3 for gcc 7.x and later.
  perf report: Ensure the perf DSO mapping matches what libdw sees
  perf report: Include partial stacks unwound with libdw
  perf annotate: Add missing powerpc triplet
  perf test: Disable breakpoint signal tests for powerpc
  perf symbols: Use correct filename for compressed modules in build-id cache
  perf symbols: Set module info when build-id event found
  perf header: Set proper module name when build-id event found
  net/mlx4: Check if Granular QoS per VF has been enabled before updating QP qos_vport
  net: phy: fix kernel-doc warnings
  devlink: fix potential memort leak
  net: Update TCP congestion control documentation
  cpufreq: intel_pstate: Avoid division by 0 in min_perf_pct_min()
  ARM: 8677/1: boot/compressed: fix decompressor header layout for v7-M
  ARM: 8676/1: NOMMU: provide pgprot_device() macro
  x86/cpu/cyrix: Add alternative Device ID of Geode GX1 SoC
  powerpc/kernel: Fix FP and vector register restoration
  net/mlx4: Fix the check in attaching steering rules
  sit: reload iphdr in ipip6_rcv
  net: ping: do not abuse udp_poll()
  net: dsa: Fix stale cpu_switch reference after unbind then bind
  ipv6: Fix leak in ipv6_gso_segment().
  geneve: fix needed_headroom and max_mtu for collect_metadata
  sock: reset sk_err when the error queue is empty
  amd-xgbe: use PAGE_ALLOC_COSTLY_ORDER in xgbe_map_rx_buffer
  ip6_tunnel: fix traffic class routing for tunnels
  net: qcom/emac: do not use hardware mdio automatic polling
  [media] rc-core: race condition during ir_raw_event_register()
  [media] cec: drop MEDIA_CEC_DEBUG
  [media] cec: rename MEDIA_CEC_NOTIFIER to CEC_NOTIFIER
  [media] cec: select CEC_CORE instead of depend on it
  [media] rainshadow-cec: ensure exit_loop is intialized
  [media] atomisp: don't treat warnings as errors
  alarmtimer: Rate limit periodic intervals
  alarmtimer: Prevent overflow of relative timers
  bio-integrity: Do not allocate integrity context for bio w/o data
  mei: make sysfs modalias format similar as uevent modalias
  drivers: char: mem: Fix wraparound check to allow mappings up to the end
  iio: adc: mxs-lradc: Fix return value check in mxs_lradc_adc_probe()
  iio: imu: inv_mpu6050: add accel lpf setting for chip >= MPU6500
  staging/lustre/lov: remove set_fs() call from lov_getstripe()
  cpu/hotplug: Drop the device lock on error
  arm64: allwinner: a64: Add PLL_PERIPH0 clock to the R_CCU
  ARM: sunxi: h3-h5: Add PLL_PERIPH0 clock to the R_CCU
  scsi: cxgb4i: libcxgbi: in error case RST tcp conn
  virtio_net: lower limit on buffer size
  qlcnic: Fix tunnel offload for 82xx adapters
  vxlan: fix use-after-free on deletion
  ibmvnic: Remove module author mailing address
  net: ethernet: stmmac: Fix altr_tse_pcs SGMII Initialization
  tcp: disallow cwnd undo when switching congestion control
  cxgb4: avoid enabling napi twice to the same queue
  ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt()
  drm: Fix oops + Xserver hang when unplugging USB drm devices
  net: dsa: Move dsa_switch_{suspend,resume} out of legacy.c
  net: systemport: Fix missing Wake-on-LAN interrupt for SYSTEMPORT Lite
  perf stat: Only print NMI watchdog hint when enabled
  s390/zcrypt: Fix blocking queue device after unbind/bind.
  usb: gadget: udc: renesas_usb3: Fix PN_INT_ENA disabling timing
  usb: gadget: udc: renesas_usb3: lock for PN_ registers access
  usb: gadget: udc: renesas_usb3: fix deadlock by spinlock
  usb: gadget: udc: renesas_usb3: fix pm_runtime functions calling
  usb: gadget: f_mass_storage: Serialize wake and sleep execution
  usb: dwc2: add support for the DWC2 controller on Meson8 SoCs
  MAINTAINERS: remove kernel@stlinux.com obsolete mailing list
  ARM: dts: versatile: use #include "..." to include local DT
  mac80211: fix dropped counter in multiqueue RX
  net: phy: micrel: Restore led_mode and clk_sel on resume
  ARM: dts: imx6ul-14x14-evk: Add ksz8081 phy properties
  mISDN: Fix a sleep-in-atomic bug
  vxlan: eliminate cached dst leak
  perf annotate: Fix branch instruction with multiple operands
  sparc64: Fix build warnings with gcc 7.
  net: bridge: start hello timer only if device is up
  bnx2x: Fix Multi-Cos
  cxgb4: update latest firmware version supported
  netlink: don't send unknown nsid
  qlcnic: Fix a sleep-in-atomic bug in qlcnic_82xx_hw_write_wx_2M and qlcnic_82xx_hw_read_wx_2M
  btrfs: fix race with relocation recovery and fs_root setup
  btrfs: fix memory leak in update_space_info failure path
  btrfs: use correct types for page indices in btrfs_page_exists_in_range
  perf trace: Add mmap alias for s390
  powerpc/64: Reclaim CPU_FTR_SUBCORE
  powerpc/hotplug-mem: Fix missing endian conversion of aa_index
  powerpc/sysdev/simple_gpio: Fix oops in gpio save_regs function
  powerpc/spufs: Fix coredump of SPU contexts
  powerpc/64s: Add dt_cpu_ftrs boot time setup option
  phy: qualcomm: phy-qcom-qmp: fix application of sizeof to pointer
  brcmfmac: fix alignment configuration on host using 64-bit DMA
  scsi: scsi_debug: Avoid PI being disabled when TPGS is enabled
  scsi: qla2xxx: Fix extraneous ref on sp's after adapter break
  scsi: lpfc: prevent potential null pointer dereference
  scsi: lpfc: Avoid NULL pointer dereference in lpfc_els_abort()
  scsi: lpfc: nvmet_fc: fix format string
  mpls: fix clearing of dead nh_flags on link up
  isdn: Fix a sleep-in-atomic bug
  libata: fix error checking in in ata_parse_force_one()
  net: freescale: fix potential null pointer dereference
  net: fix auto-loading of Marvell DSA driver
  KVM: s390: fix ais handling vs cpu model
  net: phy: fix marvell phy status reading
  tcp: reinitialize MTU probing when setting MSS in a TCP repair
  drm: Fix locking in drm_atomic_helper_resume
  drm/rockchip: Correct vop out_mode configure
  MAINTAINERS: Move mlx5 rdma header file to IB driver charge
  MAINTAINERS: Move mlx4 rdma header file to IB driver charge
  MAINTAINERS: Update MELLANOX MLX4 core VPI driver maintainer
  net/mlx5: avoid build warning for uniprocessor
  net: dsa: mv88e6xxx: Add missing static to stub functions
  qed: Don't log missing periodic stats by default
  Documentation: networking: add DPAA Ethernet document
  cxgb4: avoid crash on PCI error recovery path
  MAINTAINERS: add device-tree files to TI DaVinci entry
  arm: dma-mapping: Reset the device's dma_ops
  ACPI/IORT: Move the check to get iommu_ops from translated fwspec
  ARM: dma-mapping: Don't tear down third-party mappings
  ACPI/IORT: Ignore all errors except EPROBE_DEFER
  iommu/of: Ignore all errors except EPROBE_DEFER
  iommu/of: Fix check for returning EPROBE_DEFER
  iommu/dma: Fix function declaration
  mac80211: fix TX aggregation start/stop callback race
  ext4: fix fdatasync(2) after extent manipulation operations
  ARM: at91: select CONFIG_ARM_CPU_SUSPEND
  net: dsa: mv88e6xxx: Add missing static to stub functions
  staging: iio: ad7152: Fix deadlock in ad7152_write_raw_samp_freq()
  hdlcdrv: Fix divide by zero in hdlcdrv_ioctl
  net: dsa: mv88e6xxx: Add eeprom-length to binding
  perf annotate: Fix failure when filename has special chars
  usb: musb: dsps: keep VBUS on for host-only mode
  ext4: fix data corruption for mmap writes
  ext4: fix data corruption with EXT4_GET_BLOCKS_ZERO
  PCI: Make error code types consistent in pci_{read,write}_config_*
  arch/sparc: increase CONFIG_NODES_SHIFT on SPARC64 to 5
  ARM: dts: am335x-sl50: Fix cannot claim requested pins for spi0
  ARM: dts: am335x-sl50: Fix card detect pin for mmc1
  ASoC: rsnd: fixup parent_clk_name of AUDIO_CLKOUTx
  ARM: dts: keystone-k2l: fix broken Ethernet due to disabled OSR
  arm64: defconfig: enable some core options for 64bit Rockchip socs
  MAINTAINERS: Change maintainer of genwqe driver
  goldfish_pipe: use GFP_ATOMIC under spin lock
  firmware: vpd: do not leak kobjects
  firmware: vpd: avoid potential use-after-free when destroying section
  firmware: vpd: do not leave freed section attributes to the list
  staging: ccree: add CRYPTO dependency
  scsi: qla2xxx: Fix crash due to NULL pointer dereference of ctx
  scsi: qla2xxx: Fix mailbox pointer error in fwdump capture
  scsi: qla2xxx: Set bit 15 for DIAG_ECHO_TEST MBC
  scsi: qla2xxx: Modify T262 FW dump template to specify same start/end to debug customer issues
  scsi: qla2xxx: Fix crash due to mismatch mumber of Q-pair creation for Multi queue
  scsi: qla2xxx: Fix NULL pointer access due to redundant fc_host_port_name call
  scsi: qla2xxx: Fix recursive loop during target mode configuration for ISP25XX leaving system unresponsive
  ext4: fix quota charging for shared xattr blocks
  ext4: remove redundant check for encrypted file on dio write path
  ext4: remove unused d_name argument from ext4_search_dir() et al.
  ext4: fix off-by-one error when writing back pages before dio read
  ext4: fix off-by-one on max nr_pages in ext4_find_unwritten_pgoff()
  scsi: bnx2fc: fix race condition in bnx2fc_get_host_stats()
  scsi: qla2xxx: don't disable a not previously enabled PCI device
  ASoC: Intel: Skylake: Fix to parse consecutive string tkns in manifest
  ASoC: Intel: Skylake: Fix IPC rx_list corruption
  ASoC: rsnd: SSI PIO adjust to 24bit mode
  MAINTAINERS: Update email address for patches to Wolfson parts
  ASoC: Fix use-after-free at card unregistration
  cpuset: consider dying css as offline
  arm64: marvell: dts: fix interrupts in 7k/8k crypto nodes
  Revert "ata: sata_mv: Convert to devm_ioremap_resource()"
  netfilter: ctnetlink: fix incorrect nf_ct_put during hash resize
  reset: hi6220: Set module license so that it can be loaded
  KVM: arm/arm64: Fix isues with GICv2 on GICv3 migration
  netfilter: nat: use atomic bit op to clear the _SRC_NAT_DONE_BIT
  netfilter: nft_set_rbtree: handle element re-addition after deletion
  netfilter: conntrack: fix false CRC32c mismatch using paged skb
  ARM: 8675/1: MCPM: ensure not to enter __hyp_soft_restart from loopback and cpu_power_down
  wcn36xx: Close SMD channel on device removal
  MAINTAINERS: add irqchip related drivers to Marvell EBU maintainers
  MAINTAINERS: sort F entries for Marvell EBU maintainers
  MAINTAINERS: remove self from GPIO maintainers
  gpio: crystalcove: Do not write regular gpio registers for virtual GPIOs
  crypto: gcm - wait for crypto op not signal safe
  crypto: drbg - wait for crypto op not signal safe
  crypto: asymmetric_keys - handle EBUSY due to backlog correctly
  usb: chipidea: core: check before accessing ci_role in ci_role_show
  usb: chipidea: debug: check before accessing ci_role
  s390/vfio_ccw: make some symbols static
  gpio: aspeed: Don't attempt to debounce if disabled
  drm/mediatek: fix mtk_hdmi_setup_vendor_specific_infoframe mistake
  drm/mediatek: fix a timeout loop
  ext4: keep existing extra fields when inode expands
  ext4: handle the rest of ext4_mb_load_buddy() ENOMEM errors
  ext4: fix off-by-in in loop termination in ext4_find_unwritten_pgoff()
  ext4: fix SEEK_HOLE
  jbd2: preserve original nofs flag during journal restart
  ext4: clear lockdep subtype for quota files on quota off
  iio: adc: sun4i-gpadc-iio: fix parent device being used in devm function
  iio: light: ltr501 Fix interchanged als/ps register field
  iio: adc: bcm_iproc_adc: swap primary and secondary isr handler's
  iio: trigger: fix NULL pointer dereference in iio_trigger_write_current()
  arm64: allwinner: h5: Remove syslink to shared DTSI
  ASoC: simple-card: fix mic jack initialization
  ASoC: rsnd: don't call free_irq() on Parent SSI
  batman-adv: fix memory leak when dropping packet from other gateway
  batman-adv: Fix rx packet/bytes stats on local ARP reply
  phy: qcom-qmp: fix return value check in qcom_qmp_phy_create()
  usb: chipidea: udc: fix NULL pointer dereference if udc_start failed
  usb: chipidea: imx: Do not access CLKONOFF on i.MX51
  cgroup: Prevent kill_css() from being called more than once
  s390/kvm: do not rely on the ILC on kvm host protection fauls
  ARM: davinci: PM: Do not free useful resources in normal path in 'davinci_pm_init'
  ASoC: atmel-classd: sync regcache when resuming
  ASoC: rsnd: don't use PDTA bit for 24bit on SSI
  ARM: davinci: PM: Free resources in error handling path in 'davinci_pm_init'
  ata: libahci: properly propagate return value of platform_get_irq()
  ata: sata_rcar: Handle return value of clk_prepare_enable
  ahci: Acer SA5-271 SSD Not Detected Fix
  btrfs: fix incorrect error return ret being passed to mapping_set_error
  btrfs: Make flush bios explicitely sync
  btrfs: fiemap: Cache and merge fiemap extent before submit it to user
  ARM: dts: bcm283x: Reserve first page for firmware
  memory: atmel-ebi: mark PM ops as __maybe_unused
  iio: adc: max9611: Fix attribute measure unit
  iio: adc: ti_am335x_adc: allocating too much in probe
  ASoC: da7213: Fix incorrect usage of bitwise '&' operator for SRM check
  rt286: add Thinkpad Helix 2 to force_combo_jack_table
  ASoC: Intel: Skylake: Move i915 registration to worker thread
  ARM: sunxi: h3/h5: fix the compatible of R_CCU
  xtensa: ISS: Use kmalloc_array() in simdisk_init()
  xtensa: Use seq_puts() in c_show()
  MAINTAINERS: Remove Javier Martinez Canillas as reviewer for Exynos
  iio: adc: sun4i-gpadc-iio: Fix module autoload when OF devices are registered
  iio: adc: sun4i-gpadc-iio: Fix module autoload when PLATFORM devices are registered
  iio: proximity: as3935: fix iio_trigger_poll issue
  iio: proximity: as3935: fix AS3935_INT mask
  iio: adc: Max9611: checking for ERR_PTR instead of NULL in probe
  iio: proximity: as3935: recalibrate RCO after resume

Change-Id: I2017e1379302c6fbdcd56fd125c463b3c3885e51
Signed-off-by: default avatarKyle Yan <kyan@codeaurora.org>
Signed-off-by: default avatarPrasad Sodagudi <psodagud@codeaurora.org>
parents cb2ddc73 41f1830f
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -866,6 +866,15 @@

	dscc4.setup=	[NET]

	dt_cpu_ftrs=	[PPC]
			Format: {"off" | "known"}
			Control how the dt_cpu_ftrs device-tree binding is
			used for CPU feature discovery and setup (if it
			exists).
			off: Do not use it, fall back to legacy cpu table.
			known: Do not pass through unknown features to guests
			or userspace, only those that the kernel is aware of.

	dump_apple_properties	[X86]
			Dump name and content of EFI device properties on
			x86 Macs.  Useful for driver authors to determine
@@ -3802,6 +3811,13 @@
			expediting.  Set to zero to disable automatic
			expediting.

	stack_guard_gap=	[MM]
			override the default stack gap protection. The value
			is in page units and it defines how many pages prior
			to (for stacks growing down) resp. after (for stacks
			growing up) the main stack are reserved for no other
			mapping. Default value is 256 pages.

	stacktrace	[FTRACE]
			Enabled the stack tracer on boot up.

+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,10 @@ Optional properties:
- interrupt-controller	: Indicates the switch is itself an interrupt
			  controller. This is used for the PHY interrupts.
#interrupt-cells = <2>	: Controller uses two cells, number and flag
- eeprom-length		: Set to the length of an EEPROM connected to the
			  switch. Must be set if the switch can not detect
			  the presence and/or size of a connected EEPROM,
			  otherwise optional.
- mdio			: Container of PHY and devices on the switches MDIO
			  bus.
- mdio?		: Container of PHYs and devices on the external MDIO
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ Required properties:
  - "rockchip,rk3288-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3288 Soc;
  - "lantiq,arx100-usb": The DWC2 USB controller instance in Lantiq ARX SoCs;
  - "lantiq,xrx200-usb": The DWC2 USB controller instance in Lantiq XRX SoCs;
  - "amlogic,meson8-usb": The DWC2 USB controller instance in Amlogic Meson8 SoCs;
  - "amlogic,meson8b-usb": The DWC2 USB controller instance in Amlogic Meson8b SoCs;
  - "amlogic,meson-gxbb-usb": The DWC2 USB controller instance in Amlogic S905 SoCs;
  - "amcc,dwc-otg": The DWC2 USB controller instance in AMCC Canyonlands 460EX SoCs;
+194 −0
Original line number Diff line number Diff line
The QorIQ DPAA Ethernet Driver
==============================

Authors:
Madalin Bucur <madalin.bucur@nxp.com>
Camelia Groza <camelia.groza@nxp.com>

Contents
========

	- DPAA Ethernet Overview
	- DPAA Ethernet Supported SoCs
	- Configuring DPAA Ethernet in your kernel
	- DPAA Ethernet Frame Processing
	- DPAA Ethernet Features
	- Debugging

DPAA Ethernet Overview
======================

DPAA stands for Data Path Acceleration Architecture and it is a
set of networking acceleration IPs that are available on several
generations of SoCs, both on PowerPC and ARM64.

The Freescale DPAA architecture consists of a series of hardware blocks
that support Ethernet connectivity. The Ethernet driver depends upon the
following drivers in the Linux kernel:

 - Peripheral Access Memory Unit (PAMU) (* needed only for PPC platforms)
    drivers/iommu/fsl_*
 - Frame Manager (FMan)
    drivers/net/ethernet/freescale/fman
 - Queue Manager (QMan), Buffer Manager (BMan)
    drivers/soc/fsl/qbman

A simplified view of the dpaa_eth interfaces mapped to FMan MACs:

  dpaa_eth       /eth0\     ...       /ethN\
  driver        |      |             |      |
  -------------   ----   -----------   ----   -------------
       -Ports  / Tx  Rx \    ...    / Tx  Rx \
  FMan        |          |         |          |
       -MACs  |   MAC0   |         |   MACN   |
             /   dtsec0   \  ...  /   dtsecN   \ (or tgec)
            /              \     /              \(or memac)
  ---------  --------------  ---  --------------  ---------
      FMan, FMan Port, FMan SP, FMan MURAM drivers
  ---------------------------------------------------------
      FMan HW blocks: MURAM, MACs, Ports, SP
  ---------------------------------------------------------

The dpaa_eth relation to the QMan, BMan and FMan:
              ________________________________
  dpaa_eth   /            eth0                \
  driver    /                                  \
  ---------   -^-   -^-   -^-   ---    ---------
  QMan driver / \   / \   / \  \   /  | BMan    |
             |Rx | |Rx | |Tx | |Tx |  | driver  |
  ---------  |Dfl| |Err| |Cnf| |FQs|  |         |
  QMan HW    |FQ | |FQ | |FQs| |   |  |         |
             /   \ /   \ /   \  \ /   |         |
  ---------   ---   ---   ---   -v-    ---------
            |        FMan QMI         |         |
            | FMan HW       FMan BMI  | BMan HW |
              -----------------------   --------

where the acronyms used above (and in the code) are:
DPAA = Data Path Acceleration Architecture
FMan = DPAA Frame Manager
QMan = DPAA Queue Manager
BMan = DPAA Buffers Manager
QMI = QMan interface in FMan
BMI = BMan interface in FMan
FMan SP = FMan Storage Profiles
MURAM = Multi-user RAM in FMan
FQ = QMan Frame Queue
Rx Dfl FQ = default reception FQ
Rx Err FQ = Rx error frames FQ
Tx Cnf FQ = Tx confirmation FQs
Tx FQs = transmission frame queues
dtsec = datapath three speed Ethernet controller (10/100/1000 Mbps)
tgec = ten gigabit Ethernet controller (10 Gbps)
memac = multirate Ethernet MAC (10/100/1000/10000)

DPAA Ethernet Supported SoCs
============================

The DPAA drivers enable the Ethernet controllers present on the following SoCs:

# PPC
P1023
P2041
P3041
P4080
P5020
P5040
T1023
T1024
T1040
T1042
T2080
T4240
B4860

# ARM
LS1043A
LS1046A

Configuring DPAA Ethernet in your kernel
========================================

To enable the DPAA Ethernet driver, the following Kconfig options are required:

# common for arch/arm64 and arch/powerpc platforms
CONFIG_FSL_DPAA=y
CONFIG_FSL_FMAN=y
CONFIG_FSL_DPAA_ETH=y
CONFIG_FSL_XGMAC_MDIO=y

# for arch/powerpc only
CONFIG_FSL_PAMU=y

# common options needed for the PHYs used on the RDBs
CONFIG_VITESSE_PHY=y
CONFIG_REALTEK_PHY=y
CONFIG_AQUANTIA_PHY=y

DPAA Ethernet Frame Processing
==============================

On Rx, buffers for the incoming frames are retrieved from one of the three
existing buffers pools. The driver initializes and seeds these, each with
buffers of different sizes: 1KB, 2KB and 4KB.

On Tx, all transmitted frames are returned to the driver through Tx
confirmation frame queues. The driver is then responsible for freeing the
buffers. In order to do this properly, a backpointer is added to the buffer
before transmission that points to the skb. When the buffer returns to the
driver on a confirmation FQ, the skb can be correctly consumed.

DPAA Ethernet Features
======================

Currently the DPAA Ethernet driver enables the basic features required for
a Linux Ethernet driver. The support for advanced features will be added
gradually.

The driver has Rx and Tx checksum offloading for UDP and TCP. Currently the Rx
checksum offload feature is enabled by default and cannot be controlled through
ethtool.

The driver has support for multiple prioritized Tx traffic classes. Priorities
range from 0 (lowest) to 3 (highest). These are mapped to HW workqueues with
strict priority levels. Each traffic class contains NR_CPU TX queues. By
default, only one traffic class is enabled and the lowest priority Tx queues
are used. Higher priority traffic classes can be enabled with the mqprio
qdisc. For example, all four traffic classes are enabled on an interface with
the following command. Furthermore, skb priority levels are mapped to traffic
classes as follows:

	* priorities 0 to 3 - traffic class 0 (low priority)
	* priorities 4 to 7 - traffic class 1 (medium-low priority)
	* priorities 8 to 11 - traffic class 2 (medium-high priority)
	* priorities 12 to 15 - traffic class 3 (high priority)

tc qdisc add dev <int> root handle 1: \
	 mqprio num_tc 4 map 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 hw 1

Debugging
=========

The following statistics are exported for each interface through ethtool:

	- interrupt count per CPU
	- Rx packets count per CPU
	- Tx packets count per CPU
	- Tx confirmed packets count per CPU
	- Tx S/G frames count per CPU
	- Tx error count per CPU
	- Rx error count per CPU
	- Rx error count per type
	- congestion related statistics:
		- congestion status
		- time spent in congestion
		- number of time the device entered congestion
		- dropped packets count per cause

The driver also exports the following information in sysfs:

	- the FQ IDs for each FQ type
	/sys/devices/platform/dpaa-ethernet.0/net/<int>/fqids

	- the IDs of the buffer pools in use
	/sys/devices/platform/dpaa-ethernet.0/net/<int>/bpids
+1 −1
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ associated flow of the packet. The hash is either provided by hardware
or will be computed in the stack. Capable hardware can pass the hash in
the receive descriptor for the packet; this would usually be the same
hash used for RSS (e.g. computed Toeplitz hash). The hash is saved in
skb->rx_hash and can be used elsewhere in the stack as a hash of the
skb->hash and can be used elsewhere in the stack as a hash of the
packet’s flow.

Each receive hardware queue has an associated list of CPUs to which
Loading