linux/drivers
Phong Hoang 31fc50cd93 clocksource/drivers/sh_cmt: Fix wrong setting if don't request IRQ for clock source channel
[ Upstream commit be83c3b6e7 ]

If CMT instance has at least two channels, one channel will be used
as a clock source and another one used as a clock event device.
In that case, IRQ is not requested for clock source channel so
sh_cmt_clock_event_program_verify() might work incorrectly.
Besides, when a channel is only used for clock source, don't need to
re-set the next match_value since it should be maximum timeout as
it still is.

On the other hand, due to no IRQ, total_cycles is not counted up
when reaches compare match time (timer counter resets to zero),
so sh_cmt_clocksource_read() returns unexpected value.
Therefore, use 64-bit clocksoure's mask for 32-bit or 16-bit variants
will also lead to wrong delta calculation. Hence, this mask should
correspond to timer counter width, and above function just returns
the raw value of timer counter register.

Fixes: bfa76bb12f ("clocksource: sh_cmt: Request IRQ for clock event device only")
Fixes: 37e7742c55 ("clocksource/drivers/sh_cmt: Fix clocksource width for 32-bit machines")
Signed-off-by: Phong Hoang <phong.hoang.wz@renesas.com>
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20210422123443.73334-1-niklas.soderlund+renesas@ragnatech.se
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-15 09:50:29 +02:00
..
accessibility
acpi ACPI: NFIT: Fix support for virtual SPA ranges 2021-08-18 08:59:07 +02:00
amba amba: Fix resource leak for drivers without .remove 2021-03-04 11:38:02 +01:00
android
ata libata: fix ata_host_start() 2021-09-15 09:50:26 +02:00
atm atm: nicstar: register the interrupt handler in the right place 2021-07-19 09:44:52 +02:00
auxdisplay auxdisplay: ht16k33: Fix refresh rate handling 2021-03-04 11:38:00 +01:00
base regmap: fix the offset of register error log 2021-09-15 09:50:23 +02:00
bcma
block cryptoloop: add a deprecation warning 2021-09-08 08:49:01 +02:00
bluetooth Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS 2021-09-03 10:09:28 +02:00
bus bus: ti-sysc: Fix error handling for sysc_check_active_timer() 2021-08-26 08:35:42 -04:00
cdrom cdrom: gdrom: initialize global variable at init time 2021-05-26 12:06:55 +02:00
char tpm_ftpm_tee: Free and unregister TEE shared memory during kexec 2021-08-12 13:22:13 +02:00
clk clk: renesas: rcar-usb2-clock-sel: Fix kernel NULL pointer dereference 2021-09-03 10:09:26 +02:00
clocksource clocksource/drivers/sh_cmt: Fix wrong setting if don't request IRQ for clock source channel 2021-09-15 09:50:29 +02:00
connector
counter counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register 2021-03-25 09:04:16 +01:00
cpufreq cpufreq: blocklist Qualcomm sm8150 in cpufreq-dt-platdev 2021-09-03 10:09:26 +02:00
cpuidle cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration 2021-05-14 09:50:16 +02:00
crypto crypto: qat - do not export adf_iov_putmsg() 2021-09-15 09:50:27 +02:00
dax device-dax: Fix default return code of range_parse() 2021-03-04 11:38:15 +01:00
dca
devfreq PM / devfreq: Add missing error code in devfreq_add_device() 2021-07-14 16:56:11 +02:00
dio
dma dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available 2021-08-26 08:35:36 -04:00
dma-buf dma-buf/sync_file: Don't leak fences on merge failure 2021-07-25 14:36:20 +02:00
edac EDAC/mce_amd: Do not load edac_mce_amd module on guests 2021-09-15 09:50:24 +02:00
eisa
extcon extcon: intel-mrfld: Sync hardware and software state on init 2021-07-19 09:45:00 +02:00
firewire firewire: nosy: Fix a use-after-free bug in nosy_ioctl() 2021-04-07 15:00:11 +02:00
firmware efi/libstub: arm64: Double check image alignment at entry 2021-08-18 08:59:17 +02:00
fpga fpga: dfl: fme: Fix cpu hotplug issue in performance reporting 2021-08-12 13:22:15 +02:00
fsi fsi: Add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:42 +02:00
gnss
gpio Revert "gpio: mpc8xxx: change the gpio interrupt flags." 2021-08-12 13:22:16 +02:00
gpu gpu: ipu-v3: Fix i.MX IPU-v3 offset calculations for (semi)planar U/V formats 2021-09-08 08:49:00 +02:00
greybus
hid HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT 2021-08-04 12:46:41 +02:00
hsi HSI: core: fix resource leaks in hsi_add_client_from_dt() 2021-05-14 09:50:28 +02:00
hv drivers: hv: Fix missing error code in vmbus_connect() 2021-07-14 16:55:59 +02:00
hwmon hwmon: (max31790) Fix fan speed reporting for fan7..12 2021-07-14 16:56:08 +02:00
hwspinlock
hwtracing intel_th: Wait until port is in reset before programming it 2021-07-20 16:05:46 +02:00
i2c i2c: dev: zero out array used for i2c reads from userspace 2021-08-18 08:59:05 +02:00
i3c Revert "i3c master: fix missing destroy_workqueue() on error in i3c_master_register" 2021-05-14 09:50:05 +02:00
ide ide/falconide: Fix module unload 2021-03-04 11:38:21 +01:00
idle
iio iio: adc: Fix incorrect exit of for-loop 2021-08-18 08:59:05 +02:00
infiniband RDMA/efa: Free IRQ vectors on error flow 2021-09-03 10:09:24 +02:00
input Input: hideep - fix the uninitialized use in hideep_nvm_unlock() 2021-07-20 16:05:44 +02:00
interconnect interconnect: qcom: icc-rpmh: Ensure floor BW is enforced for all nodes 2021-08-12 13:22:18 +02:00
iommu iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() 2021-08-26 08:35:51 -04:00
ipack ipack: tpci200: fix memory leak in the tpci200_register 2021-08-26 08:35:55 -04:00
irqchip irqchip/loongson-pch-pic: Improve edge triggered interrupt support 2021-09-15 09:50:29 +02:00
isdn mISDN: fix possible use-after-free in HFC_cleanup() 2021-07-19 09:44:38 +02:00
leds leds: turris-omnia: add missing MODULE_DEVICE_TABLE 2021-07-20 16:05:45 +02:00
lightnvm lightnvm: fix memory leak when submit fails 2021-01-27 11:55:22 +01:00
macintosh macintosh/adb-iop: Use big-endian autopoll mask 2021-03-04 11:37:42 +01:00
mailbox mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion 2021-07-14 16:56:53 +02:00
mcb
md bcache: add proper error unwinding in bcache_device_init 2021-09-15 09:50:25 +02:00
media media: stkwebcam: fix memory leak in stk_camera_probe 2021-09-08 08:49:02 +02:00
memory memory: tegra: Fix compilation warnings on 64bit platforms 2021-07-25 14:36:14 +02:00
memstick memstick: rtsx_usb_ms: fix UAF 2021-07-14 16:55:53 +02:00
message
mfd mfd: cpcap: Fix cpcap dmamask not set warnings 2021-07-20 16:05:42 +02:00
misc lkdtm: Enable DOUBLE_FAULT on all architectures 2021-09-03 10:09:30 +02:00
mmc Revert "mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN on BCM2711" 2021-09-03 10:09:25 +02:00
most
mtd mtd: spinand: Fix incorrect parameters for on-die ECC 2021-09-03 10:09:28 +02:00
mux
net Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM" 2021-09-12 08:58:27 +02:00
nfc nfc: nfcsim: fix use after free during module unload 2021-08-04 12:46:41 +02:00
ntb
nubus
nvdimm libnvdimm/region: Fix label activation vs errors 2021-08-18 08:59:07 +02:00
nvme nvmet: pass back cntlid on successful completion 2021-09-15 09:50:25 +02:00
nvmem nvmem: core: add a missing of_node_put 2021-07-19 09:45:00 +02:00
of of: Fix truncation of memory sizes on 32-bit platforms 2021-07-14 16:56:46 +02:00
opp opp: remove WARN when no valid OPPs remain 2021-09-03 10:09:26 +02:00
oprofile
parisc
parport
pci PCI: Call Max Payload Size-related fixup quirks early 2021-09-12 08:58:28 +02:00
pcmcia pcmcia: i82092: fix a null pointer dereference bug 2021-08-12 13:22:16 +02:00
perf perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number 2021-07-14 16:56:08 +02:00
phy phy: intel: Fix for warnings due to EMMC clock 175Mhz change in FIP 2021-07-20 16:05:46 +02:00
pinctrl pinctrl: tigerlake: Fix GPIO mapping for newer version of software 2021-08-18 08:59:09 +02:00
platform platform/x86: pcengines-apuv2: Add missing terminating entries to gpio-lookup tables 2021-08-18 08:59:09 +02:00
pnp
power power: supply: cw2015: use dev_err_probe to allow deferred probe 2021-09-15 09:50:27 +02:00
powercap
pps
ps3
ptp ptp_pch: Restore dependency on PCI 2021-08-26 08:35:46 -04:00
pwm pwm: sprd: Ensure configuring period and duty_cycle isn't wrongly skipped 2021-07-28 14:35:34 +02:00
rapidio rapidio: handle create_workqueue() failure 2021-05-26 12:06:52 +02:00
ras RAS/CEC: Correct ce_add_elem()'s returned values 2021-04-14 08:42:12 +02:00
regulator regulator: tps65910: Silence deferred probe error 2021-09-15 09:50:23 +02:00
remoteproc remoteproc: k3-r5: Fix an error message 2021-07-20 16:05:50 +02:00
reset reset: reset-zynqmp: Fixed the argument data type 2021-09-08 08:49:00 +02:00
rpmsg rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data() 2021-05-19 10:13:02 +02:00
rtc rtc: max77686: Do not enforce (incorrect) interrupt trigger type 2021-07-25 14:36:16 +02:00
s390 s390/ap: fix state machine hang after failure to enable irq 2021-09-15 09:50:27 +02:00
sbus
scsi scsi: core: Fix hang of freezing queue between blocking and running device 2021-09-03 10:09:23 +02:00
sfi
sh
siox
slimbus slimbus: ngd: reset dma setup during runtime pm 2021-08-26 08:35:55 -04:00
soc soc / drm: mediatek: Move DDP component defines into mtk-mmsys.h 2021-08-26 08:35:42 -04:00
soundwire soundwire: stream: Fix test for DP prepare complete 2021-07-14 16:56:47 +02:00
spi spi: spi-pic32: Fix issue with uninitialized dma_slave_config 2021-09-15 09:50:28 +02:00
spmi spmi: spmi-pmic-arb: Fix hw_irq overflow 2021-03-04 11:38:40 +01:00
ssb ssb: Fix error return code in ssb_bus_scan() 2021-07-14 16:56:21 +02:00
staging staging: rtl8712: error handling refactoring 2021-08-12 13:22:14 +02:00
target scsi: target: Fix protect handling in WRITE SAME(32) 2021-07-28 14:35:39 +02:00
tc
tee tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag 2021-08-15 14:00:24 +02:00
thermal thermal/core/thermal_of: Stop zone device before unregistering it 2021-07-25 14:36:17 +02:00
thunderbolt thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default() 2021-07-14 16:56:44 +02:00
tty serial: 8250: 8250_omap: Fix unused variable warning 2021-09-12 08:58:26 +02:00
uio uio_hv_generic: Fix a memory leak in error handling paths 2021-05-26 12:06:52 +02:00
usb xhci: fix unsafe memory usage in xhci tracing 2021-09-12 08:58:28 +02:00
vdpa vdpa/mlx5: Avoid destroying MR on empty iotlb 2021-08-26 08:35:42 -04:00
vfio vfio/pci: Handle concurrent vma faults 2021-07-14 16:56:50 +02:00
vhost vringh: Use wiov->used to check for read/write desc order 2021-09-03 10:09:27 +02:00
video backlight: lm3630a: Fix return code of .update_status() callback 2021-07-20 16:05:45 +02:00
virt nitro_enclaves: Fix stale file descriptors on failed usercopy 2021-05-11 14:47:11 +02:00
virtio virtio_vdpa: reject invalid vq indices 2021-09-03 10:09:27 +02:00
visorbus visorbus: fix error return code in visorchipset_init() 2021-07-14 16:56:41 +02:00
vlynq
vme
w1 w1: ds2438: fixing bug that would always get page0 2021-07-20 16:05:39 +02:00
watchdog Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout" 2021-08-08 09:05:24 +02:00
xen xen/events: Fix race in set_evtchn_to_irq 2021-08-18 08:59:14 +02:00
zorro
Kconfig
Makefile