android_kernel_sony_sdm845/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Anssi Hannula 2ab2e87911 mmc: sdhci-of-arasan: fix incorrect timeout clock
commit 16681037e75ce08f2980ac5dbb03414429c7a55d upstream.

sdhci_arasan_get_timeout_clock() divides the frequency it has with (1 <<
(13 + divisor)).

However, the divisor is not some Arasan-specific value, but instead is
just the Data Timeout Counter Value from the SDHCI Timeout Control
Register.

Applying it here like this is wrong as the sdhci driver already takes
that value into account when calculating timeouts, and in fact it *sets*
that register value based on how long a timeout is wanted.

Additionally, sdhci core interprets the .get_timeout_clock callback
return value as if it were read from hardware registers, i.e. the unit
should be kHz or MHz depending on SDHCI_TIMEOUT_CLK_UNIT capability bit.
This bit is set at least on the tested Zynq-7000 SoC.

With the tested hardware (SDHCI_TIMEOUT_CLK_UNIT set) this results in
too high a timeout clock rate being reported, causing the core to use
longer-than-needed timeouts. Additionally, on a partitioned MMC
(therefore having erase_group_def bit set) mmc_calc_max_discard()
disables discard support as it looks like controller does not support
the long timeouts needed for that.

Do not apply the extra divisor and return the timeout clock in the
expected unit.

Tested with a Zynq-7000 SoC and a partitioned Toshiba THGBMAG5A1JBAWR
eMMC card.

Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi>
Fixes: e3ec3a3d11 ("mmc: arasan: Add driver for Arasan SDHCI")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-30 09:41:25 +02:00
..
accessibility
acpi ACPI / blacklist: Make Dell Latitude 3350 ethernet work 2017-03-22 12:43:38 +01:00
amba
android ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct 2016-10-24 19:37:48 +02:00
ata libata: Fix ATA request sense 2017-02-09 08:08:27 +01:00
atm atm: fix improper return value 2016-12-05 14:53:46 -05:00
auxdisplay auxdisplay: img-ascii-lcd: driver for simple ASCII LCD displays 2016-10-06 17:03:41 +02:00
base base/memory, hotplug: fix a kernel oops in show_valid_zones() 2017-02-09 08:08:28 +01:00
bcma bcma: use (get|put)_device when probing/removing device driver 2017-03-12 06:41:52 +01:00
block loop: fix LO_FLAGS_PARTSCAN hang 2017-03-12 06:41:45 +01:00
bluetooth Bluetooth: Add another AR3012 04ca:3018 device 2017-03-15 10:02:40 +08:00
bus bus: vexpress-config: fix device reference leak 2017-01-19 20:18:07 +01:00
cdrom
char tpm_tis: fix the error handling of init_tis() 2017-03-12 06:41:43 +01:00
clk clk: bcm2835: Fix ->fixed_divider of pllh_aux 2017-03-22 12:43:39 +01:00
clocksource clocksource/exynos_mct: Clear interrupt when cpu is shut down 2017-01-26 08:24:40 +01:00
connector
cpufreq cpufreq: Fix and clean up show_cpuinfo_cur_freq() 2017-03-26 13:05:57 +02:00
cpuidle Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-10-15 09:26:12 -07:00
crypto crypto: ccp - Fix double add when creating new DMA command 2017-02-14 15:25:33 -08:00
dax device-dax: fix private mapping restriction, permit read-only 2016-12-06 17:42:37 -08:00
dca
devfreq PM / devfreq: Fix wrong trans_stat of passive devfreq device 2017-03-12 06:41:44 +01:00
dio
dma dmaengine: iota: ioat_alloc_chan_resources should not perform sleeping allocations. 2017-03-22 12:43:35 +01:00
dma-buf Merge tag 'drm-for-v4.9' of git://people.freedesktop.org/~airlied/linux 2016-10-11 18:12:22 -07:00
edac * Altera Arria10 enablement of NAND, DMA, USB, QSPI and SD-MMC FIFO 2016-10-04 12:06:26 -07:00
eisa
extcon extcon: return error code on failure 2017-01-19 20:18:03 +01:00
firewire firewire: net: fix fragmented datagram_size off-by-one 2016-11-03 14:46:39 +01:00
firmware efi/arm: Fix boot crash with CONFIG_CPUMASK_OFFSTACK=y 2017-03-18 19:14:29 +08:00
fmc
fpga
gpio gpio: Move freeing of GPIO hogs before numbing of the device 2017-01-19 20:18:00 +01:00
gpu drm/amdgpu/si: add dpm quirk for Oland 2017-03-26 13:05:58 +02:00
hid HID: wacom: Fix poor prox handling in 'wacom_pl_irq' 2017-02-09 08:08:29 +01:00
hsi
hv drivers: hv: Turn off write permission on the hypercall page 2017-03-15 10:02:52 +08:00
hwmon hwmon: (it87) Ensure that pwm control cache is current before updating values 2017-03-12 06:41:42 +01:00
hwspinlock
hwtracing coresight: STM: Balance enable/disable 2017-03-12 06:41:42 +01:00
i2c i2c: add missing of_node_put in i2c_mux_del_adapters 2017-03-18 19:14:30 +08:00
ide
idle nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
iio iio: magnetometer: ak8974: remove incorrect __exit markups 2017-03-30 09:41:25 +02:00
infiniband IB/mlx5: Verify that Q counters are supported 2017-03-18 19:14:35 +08:00
input Input: sur40 - validate number of endpoints before using them 2017-03-30 09:41:23 +02:00
iommu iommu/vt-d: Tylersburg isoch identity map check is done too late. 2017-03-12 06:41:43 +01:00
ipack ipack: print a hex number after a 0x prefix 2016-10-27 18:43:43 -07:00
irqchip irqchip/gicv3-its: Add workaround for QDF2400 ITS erratum 0065 2017-03-22 12:43:39 +01:00
isdn isdn/gigaset: fix NULL-deref at probe 2017-03-26 13:05:58 +02:00
leds
lguest
lightnvm Merge branch 'for-4.9/block' of git://git.kernel.dk/linux-block 2016-10-07 14:42:05 -07:00
macintosh
mailbox mailbox: PCC: Fix lockdep warning when request PCC channel 2016-11-14 22:07:38 +01:00
mcb
md md/raid1/10: fix potential deadlock 2017-03-26 13:05:57 +02:00
media uvcvideo: uvc_scan_fallback() for webcams with broken chain 2017-03-22 12:43:38 +01:00
memory memory/atmel-ebi: Fix ns <-> cycles conversions 2017-03-15 10:02:45 +08:00
memstick memstick: rtsx_usb_ms: Manage runtime PM when accessing the device 2016-10-17 15:43:05 +02:00
message
mfd mfd: tps65217: Fix page fault on unloading modules 2017-01-12 11:39:23 +01:00
misc cxl: fix nested locking hang during EEH hotplug 2017-03-15 10:02:42 +08:00
mmc mmc: sdhci-of-arasan: fix incorrect timeout clock 2017-03-30 09:41:25 +02:00
mtd mtd: pmcmsp: use kstrndup instead of kmalloc+strncpy 2017-03-18 19:14:28 +08:00
net net: bcmgenet: remove bcmgenet_internal_phy_setup() 2017-03-30 09:41:22 +02:00
nfc mei: bus: fix received data size check in NFC fixup 2016-10-31 10:25:22 -06:00
ntb ntb_transport: Pick an unused queue 2017-02-23 17:44:36 +01:00
nubus
nvdimm nfit, libnvdimm: fix interleave set cookie calculation 2017-03-15 10:02:47 +08:00
nvme nvme: apply DELAY_BEFORE_CHK_RDY quirk at probe time too 2017-01-19 20:18:05 +01:00
nvmem ARM: SoC driver updates for v4.9 2016-10-07 21:23:40 -07:00
of of, numa: Return NUMA_NO_NODE from disable of_node_to_nid() if nid not possible. 2017-01-09 08:32:25 +01:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
parisc
parport parport: fix attempt to write duplicate procfiles 2017-03-30 09:41:25 +02:00
pci PCI: Do any VF BAR updates before enabling the BARs 2017-03-22 12:43:37 +01:00
pcmcia pcmcia: fix return value of soc_pcmcia_regulator_set 2016-11-11 08:45:08 -08:00
perf perf: xgene: Remove bogus IS_ERR() check 2016-10-17 15:50:07 +01:00
phy phy: twl4030-usb: Fix for musb session bit based PM 2016-11-17 16:25:40 +01:00
pinctrl pinctrl: intel: merrifield: Add missed check in mrfld_config_set() 2017-02-09 08:08:29 +01:00
platform goldfish: Sanitize the broken interrupt handler 2017-02-26 11:10:52 +01:00
pnp
power power: reset: at91-poweroff: timely shutdown LPDDR memories 2017-03-12 06:41:45 +01:00
powercap powercap/intel_rapl: fix and tidy up error handling 2017-01-19 20:18:07 +01:00
pps pps: kc: fix non-tickless system config dependency 2016-10-11 15:06:32 -07:00
ps3
ptp drivers/ptp: Fix kernel memory disclosure 2016-10-13 10:20:06 -04:00
pwm pwm: pca9685: Fix period change with same duty cycle 2017-03-15 10:02:46 +08:00
rapidio mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
ras
regulator regulator: Fix regulator_summary for deviceless consumers 2017-03-12 06:41:43 +01:00
remoteproc remoteproc: qcom: mdt_loader: Don't overwrite firmware object 2017-03-12 06:41:50 +01:00
reset reset: uniphier: rename MIO reset to SD reset for Pro5, PXs2, LD20 SoCs 2016-10-22 18:31:42 +09:00
rpmsg rpmsg: virtio_rpmsg_bus: fix channel creation 2017-01-26 08:24:44 +01:00
rtc rtc: sun6i: Switch to the external oscillator 2017-03-12 06:41:52 +01:00
s390 s390/zcrypt: Introduce CEX6 toleration 2017-03-22 12:43:38 +01:00
sbus
scsi scsi: libiscsi: add lock around task lists to fix list corruption regression 2017-03-26 13:05:58 +02:00
sfi
sh
sn
soc soc: ti: wkup_m3_ipc: Fix error return code in wkup_m3_ipc_probe() 2017-01-26 08:24:45 +01:00
spi spi: s3c64xx: fix inconsistency between binding and driver 2017-03-12 06:41:41 +01:00
spmi
ssb ssb: Fix error routine when fallback SPROM fails 2017-01-09 08:32:16 +01:00
staging staging: rtl: fix possible NULL pointer dereference 2017-03-12 06:41:42 +01:00
target target: Fix VERIFY_16 handling in sbc_parse_cdb 2017-03-26 13:05:58 +02:00
tc
thermal thermal: hwmon: Properly report critical temperature in sysfs 2017-01-09 08:32:18 +01:00
thunderbolt
tty serial: 8250_pci: Detach low-level driver during PCI error recovery 2017-03-22 12:43:39 +01:00
uio
usb USB: usbtmc: fix probe error path 2017-03-30 09:41:24 +02:00
uwb uwb: hwa-rc: fix NULL-deref at probe 2017-03-30 09:41:24 +02:00
vfio vfio/spapr: Postpone default window creation 2017-03-22 12:43:38 +01:00
vhost vhost: fix initialization for vq->is_le 2017-02-09 08:08:28 +01:00
video fbdev: color map copying bounds checking 2017-02-01 08:33:02 +01:00
virt mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
virtio mm balloon: umount balloon_mnt when removing vb device 2017-03-12 06:41:43 +01:00
vlynq
vme VME: restore bus_remove function causing incomplete module unload 2017-03-12 06:41:50 +01:00
w1 w1: ds2490: USB transfer buffers need to be DMAable 2017-03-12 06:41:48 +01:00
watchdog watchdog: qcom: fix kernel panic due to external abort on non-linefetch 2017-01-06 10:40:16 +01:00
xen swiotlb: Convert swiotlb_force from int to enum 2017-01-26 08:24:44 +01:00
zorro
Kconfig
Makefile A small bug fix and a new driver for acting as an IPMI device. 2016-10-23 15:56:23 -07:00