The comparisons to PAGE_SIZE were all converted to use the
buffer->subbuf_order, but the use of PAGE_MASK was missed.
Convert all the PAGE_MASK usages over to:
(PAGE_SIZE << cpu_buffer->buffer->subbuf_order) - 1
Link: https://lore.kernel.org/linux-trace-kernel/20231219173800.66eefb7a@gandalf.local.home
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Fixes: 139f840021 ("ring-buffer: Page size per ring buffer")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Using page order for deciding what the size of the ring buffer sub buffers
are is exposing a bit too much of the implementation. Although the sub
buffers are only allocated in orders of pages, allow the user to specify
the minimum size of each sub-buffer via kilobytes like they can with the
buffer size itself.
If the user specifies 3 via:
echo 3 > buffer_subbuf_size_kb
Then the sub-buffer size will round up to 4kb (on a 4kb page size system).
If they specify:
echo 6 > buffer_subbuf_size_kb
The sub-buffer size will become 8kb.
and so on.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185631.809766769@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Add a self test that will write into the trace buffer with differ trace
sub buffer order sizes.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185631.520496304@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Add to the documentation how to use the buffer_subbuf_order file to change
the size and how it affects what events can be added to the ring buffer.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185631.230636734@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
The ring_buffer_subbuf_order_set() was creating ring_buffer_per_cpu
cpu_buffers with the new subbuffers with the updated order, and if they
all successfully were created, then they the ring_buffer's per_cpu buffers
would be freed and replaced by them.
The problem is that the freed per_cpu buffers contains state that would be
lost. Running the following commands:
1. # echo 3 > /sys/kernel/tracing/buffer_subbuf_order
2. # echo 0 > /sys/kernel/tracing/tracing_cpumask
3. # echo 1 > /sys/kernel/tracing/snapshot
4. # echo ff > /sys/kernel/tracing/tracing_cpumask
5. # echo test > /sys/kernel/tracing/trace_marker
Would result in:
-bash: echo: write error: Bad file descriptor
That's because the state of the per_cpu buffers of the snapshot buffer is
lost when the order is changed (the order of a freed snapshot buffer goes
to 0 to save memory, and when the snapshot buffer is allocated again, it
goes back to what the main buffer is).
In operation 2, the snapshot buffers were set to "disable" (as all the
ring buffers CPUs were disabled).
In operation 3, the snapshot is allocated and a call to
ring_buffer_subbuf_order_set() replaced the per_cpu buffers losing the
"record_disable" count.
When it was enabled again, the atomic_dec(&cpu_buffer->record_disable) was
decrementing a zero, setting it to -1. Writing 1 into the snapshot would
swap the snapshot buffer with the main buffer, so now the main buffer is
"disabled", and nothing can write to the ring buffer anymore.
Instead of creating new per_cpu buffers and losing the state of the old
buffers, basically do what the resize does and just allocate new subbuf
pages into the new_pages link list of the per_cpu buffer and if they all
succeed, then replace the old sub buffers with the new ones. This keeps
the per_cpu buffer descriptor in tact and by doing so, keeps its state.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185630.944104939@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Fixes: f9b94daa54 ("ring-buffer: Set new size of the ring buffer sub page")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
The function ring_buffer_subbuf_order_set() just updated the sub-buffers
to the new size, but this also changes the size of the buffer in doing so.
As the size is determined by nr_pages * subbuf_size. If the subbuf_size is
increased without decreasing the nr_pages, this causes the total size of
the buffer to increase.
This broke the latency tracers as the snapshot needs to be the same size
as the main buffer. The size of the snapshot buffer is only expanded when
needed, and because the order is still the same, the size becomes out of
sync with the main buffer, as the main buffer increased in size without
the tracing system knowing.
Calculate the nr_pages to allocate with the new subbuf_size to be
buffer_size / new_subbuf_size.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185630.649397785@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Fixes: f9b94daa54 ("ring-buffer: Set new size of the ring buffer sub page")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Because the main buffer and the snapshot buffer need to be the same for
some tracers, otherwise it will fail and disable all tracing, the tracers
need to be stopped while updating the sub buffer sizes so that the tracers
see the main and snapshot buffers with the same sub buffer size.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185630.353222794@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Fixes: 2808e31ec1 ("ring-buffer: Add interface for configuring trace sub buffer size")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
ida_alloc() and ida_free() should be preferred to the deprecated
ida_simple_get() and ida_simple_remove().
This is less verbose.
Note that the upper limit of ida_simple_get() is exclusive, but the one of
ida_alloc_range() is inclusive. Sothis change allows one more device.
MINORMASK is ((1U << MINORBITS) - 1), so allowing MINORMASK as a maximum value
makes sense. It is also consistent with other "ida_.*MINORMASK" and
"ida_*MINOR()" usages.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Fenghua Yu <fenghua.yu@intel.com>
Acked-by: Lijun Pan <lijun.pan@intel.com>
Link: https://lore.kernel.org/r/ac991f5f42112fa782a881d391d447529cbc4a23.1702967302.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Vinod Koul <vkoul@kernel.org>
It contains:
- IRQ support for Ethernet PHYs on SAM9X60-EK and SAM9X60-Curiosity
boards
- removal of the mmc-ddr-3_3v property from SD controllers connected to SD
slots, for SAMA5D27-WLSOM1-EK and SAMA5D27-SOM1-EK boards, as this
property is for eMMC devices
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCZXsiEQAKCRCejrg/N2X7
/fGwAP9Z6XRWEmA1bkdObT1rb5ZZBSYjUWXIf83GoITe6l9ezwD+KtvBq2XQnWNh
Hpc6Lp1LEil3vvF7up1GbOhzOrTgnQM=
=N2sV
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEYIcACgkQYKtH/8kJ
UidCpxAAkeUOHx7oQz7XQpmd2879tf3gQKBEjPTLXiFprsIwczYVMJA/a+NCxa1Z
0VphecKCZ8BOWNhgO8zr7SGgEPT1ZTRb/6HYkNnAZfXu6ATWHRr1t9wLhUA19EmP
vqwLSRhXS5B2MS8ShHtK6OBGJYyuEdE3e0EfXKVJLu86vr7t24eYLIvwgy8o8ocU
GaKAscHfDu38xl1YZlF0liCwVGAFNp9W1bmP+TKkWBJxQi0VtoXWFUZ0HzXKBQxu
O6+G3wlAhXJZomsrXULYzCua42gODO6l1YO6qdUOVw3clpZxyOjut6IDLtgMqpyW
ijJmbPXVHzwmH9LCQSuhTFzCfC8oJg1WVLwfYf2H+bM9sbChW0BIA0eGUauTa2H/
c4jAnKz2jYfmHxdvLG2rTDOT7wCnEC2OdwmB3yqedp8f2+seHKbyG6Kdq30UyDzd
+4FDJEWRo/v25G4e2QQZH2KIjXhMcZVjI0TMvXkb/7gpxFoum94bkke0E06YZMH7
e+oqIW5QklBqo9PlgmSiAOxmD6wkkDiH9hxk2S5soqq7WSG/ypkY3YiwlIfN8QC9
h4hUkylSMKL23sFdupx+/4N+hK+xsZHhJxR27okYm0xDZT6Q9IESgD24XjoayXuP
JSH/HZ0BTLOZ1wkphBKQXigHrByXanqyMGG3Xiby20DxXS/YF70=
=XwB6
-----END PGP SIGNATURE-----
Merge tag 'at91-dt-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt
Microchip AT91 device tree updates for v6.8
It contains:
- IRQ support for Ethernet PHYs on SAM9X60-EK and SAM9X60-Curiosity
boards
- removal of the mmc-ddr-3_3v property from SD controllers connected to SD
slots, for SAMA5D27-WLSOM1-EK and SAMA5D27-SOM1-EK boards, as this
property is for eMMC devices
* tag 'at91-dt-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
ARM: dts: microchip: sama5d27_som1_ek: Remove mmc-ddr-3_3v property from sdmmc0 node
ARM: dts: microchip: sama5d27_wlsom1_ek: Remove mmc-ddr-3_3v property from sdmmc0 node
ARM: dts: microchip: sam9x60ek: Add IRQ support for ethernet PHY
ARM: dts: microchip: sam9x60_curiosity: Add IRQ support for ethernet PHY
Link: https://lore.kernel.org/r/20231214174954.3045355-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Just a single update to align the thermal zone names with bindings matching
[alphanumericals]*-thermal pattern.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmV5lQ8ACgkQAEG6vDF+
4phLUxAAz8s0PGk3Ms+2Qt6LvPv6Xo8btYJkmBHtnSR8DwevjgxCaUKzszmzoiuq
LPe9Cb7eZo4Rd1gYVVWt2wCrJC/PI97yxjCv3BV6CB4KZ2MJyxTqxVuqagsn7kFG
gjJ7KDp3GNuCXK9n4Xq2JiMGpVUpyYHRFCrxypDm4F+Q/J9q1D3CCNIOm1qYf1/W
uJiMwT962kOjaLunAB4oNlF3JK6bF6Ne14qaq+H7cT5/Cp0xi2Iy/lCRhWjqEHFq
eJ48tGS7hc9CF86gcSDVa3dRQWfQFWSIJD+WnyAPwqc1RbLPQ/dK6UpHRBAJJi9Y
EDLGpTtPxShRTIX1aSXbDfBbtGg2RVppLycd+p3uAU3ASUCaPUIYeylPneyAtybj
jYrJ62fMbHlG6PNxZFDW37acEHA6baldmfMNQYtDwqNQHQt70kEUd8opDtHyQDj7
6DcUj8J4HAvfSz+E/xz4WILS8aeROLGT1ysf/kCy2v6Kfc5leUJyfDGIDN2NEhJC
i16byrBDgpXBMiIx8h0mP96iYWh3jZLZS5WanG3U39MtZUnmyp0Uii3Eg3zrEo0z
M/kSzzB/LFQkXmqMPcxzuAy2ETqvN029bp63jiPN+i2iyjwfy2o5wlsZBOCgpkZI
oBJgvJDorW3hUFiWz9Ofa3pqq2vf7mEJUmp3M5qTUdOfQueaZkw=
=IvD0
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEYGIACgkQYKtH/8kJ
UiepxxAAmBd6X0eaQzlWX1kNp/o7Yy3TJq2B4paG2Nds0my/9ZNEvzk0t3hjcSZH
YfOnmagJjE9765QfHTZ1pTUHMsQRn2uZ5tDo6NEZ/xDR/upAKz2H9IDq4O71Ruyl
aXkOJD4fR3SZLzUDVnXp32X8SjYUuj1MS1+kk7ks4L9u1Y7C2PuwrIsr8VsYYa0E
ylILSr1EF3rlkpAdL+iE7D8G0t2qlEHffFSgOfKM6y3wAk4TLp8/ahK2fpnzx0bk
14xJllWDN0oThDRAa+eRFaRQCXJWT5aRff7gpTKJOw2cSCSkDF3E5z7AHywWaWPR
ny+G4IS74mSrbA04Zzsgm2JDn9RM7VPKBtXkFmpHrwk1FQWmLzYoVc8MAPNsim9e
0iFHVviHQpCy7giTokqxR0tDMYxId+6mmOoz/h0c0cBYKcwRRYSZ4FPER9U/CYxk
aqhGg2QhXMQPHKqNZunHmFl+Q8jB5uJNM6s7WUR5bqyX7w7B982v/GaJEt0bWSfY
Qw3m6kbPY8YQwGzV3LB3Yl92/pUy9tTfrWk7HezeD9CNxzeRdnWOFV/8HV5uyAS0
htPRtFPu5Pl209rKnzC1DbCTT8uLSUNvmF0xngWNSJri1CQoOZwMAzHd2uWBnEeS
LczotQgR3jja9RtkjEhRjjmQBWpri3UeWXyCEuDOKSx7pX9GP8o=
=TZ+b
-----END PGP SIGNATURE-----
Merge tag 'juno-update-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt
Arm Vexpress/Juno update for v6.8
Just a single update to align the thermal zone names with bindings matching
[alphanumericals]*-thermal pattern.
* tag 'juno-update-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
arm64: dts: juno: Align thermal zone names with bindings
Link: https://lore.kernel.org/r/20231213115826.3577764-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
One "new" soc is the rv1109 which is a two-core variant of the rv1126
and everything else is identical.
Lots of love for the old rk3128 (power-domains, gpu, gmac, usb) and
rv1126 (uart pins, i2c2 special case) and rework of aliases to have
core busses that are hard-numbered in boards and documentation centrally
in the dtsi, but the per board aliases in the boards (ethernet).
Plus the rk3036 got a yaml hdmi binding which required some small fixes.
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmV4xDMQHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgSnyCACsbQ2cf1EQC1ubaM0YvLpRxd+XU/HP4M8N
lwVy3FZxGqDfT/pHgoOo4QpIYLNO1C2xTj+HA97aepxplTXJw6hv8Sm3mqZKsLb9
vaDNAykwFtwlo7CK1/YQP8eX40u4RJWjv5QvB+dDD7CSXZrZAbja0PkzK8dOwXEy
3mMOU5vpR13At4r6+mxu2damfihXaTFaJKVY/2ugMSx9lY3yYJ3rYIhI21JyRhTF
J6B/W/wJ1Q/FN8BZBv2FIxbwFifWI8P+EOz0riL1UOQCXSdnPJ+iPnNZ9wWUaLct
CNV1l6qpJjPGu5XPmKB6nSSl1HUJuu4jnkATMKasdJkSIYZmc2vv
=Ggu5
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEYBQACgkQYKtH/8kJ
UicGCw/+MJdg3/4IryF/VmUj4bmEyU84yoMC9ZY5RRkRcH7eHyv1IZa/P+b2L6WD
3iXQ3yWR54iKA0MdJJE3nRwlJbO3jntgjGOaWiqa40P8ntsRK0ijv6edtfvNkc2U
1alTDJh+S2LE+GvljkuhfnE49sfuGWJMYnxe8TgYF24UG0Zzj4aDyqQMGpKXvBRY
Gey+xPV45xbL3PouS/eaMcfm/kL3g1XStEurbGTFvKkEjBcSEHF6L0sY/3PXdZ/h
DtojGO0dd7os/Rfd4WIBVxZMqU/XZMiMPJC8MHrtfCri+F/KX3uYfisqUPPsmGlI
xwbAnskadniGaeCtxRBqA0W1Aq1S6DuWdPQqzzdjPPj1CehFO8LBWRMjih7I70nK
mZQfqArKbo+q0boomG7WGmbbA0ZB8MlROD6lCLbmNcjZ5zIcmbvdnbS9ClY5N+Qz
rEva7C7Ugbkishuk1c22EhTgLdbLTUopBq0UBU7vr3hk/OdH8OdftY3NvJxN0dnV
l5N0IArb5CqOYiP+1Zx7TuWHQBGYB8ANaih7ThqIFcVzBLjWH1QJygbJ1jPm5cUy
K8uj06wnljWKtoT60H+9vlVKftyWvYWMQL5vRE+AUrxO86Dpg9PCSx7XX7t9hn02
xTBmiQ6sOl4ARGNN5iSN2+A68q1PqR/o/wMrPsrAXPyHWnJeSQw=
=oQ0i
-----END PGP SIGNATURE-----
Merge tag 'v6.8-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt
New boards are the Geniatech XPI-3128 (RK3128), Sonoff iHost (rv1109)
One "new" soc is the rv1109 which is a two-core variant of the rv1126
and everything else is identical.
Lots of love for the old rk3128 (power-domains, gpu, gmac, usb) and
rv1126 (uart pins, i2c2 special case) and rework of aliases to have
core busses that are hard-numbered in boards and documentation centrally
in the dtsi, but the per board aliases in the boards (ethernet).
Plus the rk3036 got a yaml hdmi binding which required some small fixes.
* tag 'v6.8-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (24 commits)
ARM: dts: rockchip: add hdmi-connector node to rk3036-kylin
ARM: dts: rockchip: fix rk3036 hdmi ports node
ARM: dts: rockchip: add gpio alias for gpio dt nodes
ARM: dts: rockchip: Move uart aliases to SoC dtsi for RK3128
ARM: dts: rockchip: Move i2c aliases to SoC dtsi for RK3128
ARM: dts: rockchip: Move gpio aliases to SoC dtsi for RK3128
ARM: dts: rockchip: Add Sonoff iHost Smart Home Hub
dt-bindings: arm: rockchip: Add Sonoff iHost
ARM: dts: rockchip: Add rv1109 SoC
ARM: dts: rockchip: Split up rgmii1 pinctrl on rv1126
ARM: dts: rockchip: Add i2c2 node to rv1126
ARM: dts: rockchip: Serial aliases for rv1126
ARM: dts: rockchip: Add alternate UART pins to rv1126
ARM: dts: rockchip: Enable GPU for XPI-3128
ARM: dts: rockchip: Add GPU node for RK3128
ARM: dts: rockchip: Add power-controller for RK3128
ARM: dts: rockchip: Enable gmac for XPI-3128
ARM: dts: rockchip: Add gmac node for RK3128
ARM: dts: rockchip: Make usbphy the parent of SCLK_USB480M for RK3128
ARM: dts: rockchip: Add dwc2 otg fifo siztes for RK3128
...
Link: https://lore.kernel.org/r/3197878.5fSG56mABF@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
When updating the order of the sub buffers for the main buffer, make sure
that if the snapshot buffer exists, that it gets its order updated as
well.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185630.054668186@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Now that the ring buffer specifies the size of its sub buffers, they all
need to be the same size. When doing a read, a swap is done with a spare
page. Make sure they are the same size before doing the swap, otherwise
the read will fail.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185629.763664788@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
As all the subbuffer order (subbuffer sizes) must be the same throughout
the ring buffer, check the order of the buffers that are doing a CPU
buffer swap in ring_buffer_swap_cpu() to make sure they are the same.
If the are not the same, then fail to do the swap, otherwise the ring
buffer will think the CPU buffer has a specific subbuffer size when it
does not.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185629.467894710@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
On failure to allocate ring buffer pages, the pointer to the CPU buffer
pages is freed, but the pages that were allocated previously were not.
Make sure they are freed too.
Link: https://lore.kernel.org/linux-trace-kernel/20231219185629.179352802@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Vincent Donnefort <vdonnefort@google.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Fixes: f9b94daa54 ("tracing: Set new size of the ring buffer sub page")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
If IOSQE_ASYNC is set and we fail importing an iovec for a readv or
writev request, then we leave ->bytes_done uninitialized and hence the
eventual failure CQE posted can potentially have a random res value
rather than the expected -EINVAL.
Setup ->bytes_done before potentially failing, so we have a consistent
value if we fail the request early.
Cc: stable@vger.kernel.org
Reported-by: xingwei lee <xrivendell7@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
SBC (rk3588), Powkiddy X55 and RK2023 handheld (rk3566), Edgeble-Neu6b (rk3588)
The rk3588 got attention with one working usb3 host on Rock-5a/5b, Orangepi-5
and audio for the EVB1.
Some smaller improvements for the other socs (fifo-depths on rk3328,
gpio-line-names on rk3308-rock-pi-s, gpu power-coefficients on rk3399,
and a fix for the newly converted gpio-fan yaml binding).
Also a number of aliases were moved. Always-numbered core busses can have their
aliases in the soc dtsi, as is done in a number of cases already and other alises
like ethernet really should be per board.
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmV4x7sQHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgYfVB/9F3SO2g4f+6dc2DOLLijx0EjNUc3+ZGJfJ
lHGpRPPgXLpBWAuOBZnyPSEGbGg4f6tZhil6K0W7skhbuqU+LfPy6jjXvoormkZj
xYfY3q/hacMkHqehwLLo7DXZO0aO8Thl8AQfYoV91q/29YVgol7fe4HWuAdyvur5
HAtPBLuitRibwUnothVuFhEZVPdG0bnOr7gkWbY/MZGxLQt7tkT3HgBonczLxZwQ
FU5FueLLhsI0b71TADJT674NLM2MBhhdz8Sc3Dh2sL2fhwaEt43f1Cco087dlgtu
dThQ2hUurbedwZiAaeIQU64CcnorQhM41jIB7zlUGClvbtinG0RN
=e2X2
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEXicACgkQYKtH/8kJ
UicTaBAAo2z0px6n70ma8THCgZvDYFG05HPLkxKCYKkoonjgJ260pnnY0qinqnI7
0GW3Dhu8IwUK2c6Pbmu7dftxJ9BRClbEOyWC/caQwpS+8QyJbAAo0jDLI9PBdJjv
FucQIXBZAkT1KfCb02hxc8jPrSJwGiQPag0Z6IQ925LquXmFxOrIxDThkfdRhz0s
yUv5Nabv5VqBx3kuwd4p0Vq/M5Eshs8WvsoN8QLu8eJvlER8KLTjRdksAATmL60A
pJe3K22HG5LoFVb5jLblRRebHCtjTaQD47WNFm1OMKfGzYFXbDifyeDf81uK58pa
HFR/IQEqCd4NySrkLA20dhGc266sWGyu2Wgo0gkG+sN+h1WiP+8zhMcRcTUq7C1g
4HB32/UCid2nwtn4nsvKJamovMxk8weVvhcmdA4h3FfFTa/7aAaTUulvnijLEV7t
wZPAJODWBUNC3vHQenFoWo88/ghvVMIgvMQWVWFmXiZ2Pzm/eqrBNgraX4gnYgGM
Rd32WzYhbqKocj8IFL1TtWTOCNTZsXaDSj81TbfozSd0+sqCYKyRta1LPH8WOB8u
A8MbdkPQJOGgClO0tQhoqtfRR6U4F23au2nXdxC9oa8ZEmq/etQDopJO9pKwm5Tr
/xX/js0H6kP+nIJZYr8b1om3A7lQVuhWOLVJLlb4XbaBkW8wrNg=
=m5zj
-----END PGP SIGNATURE-----
Merge tag 'v6.8-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt
New boards are the Anberic RG351V handheld (rk3326), Theobroma Systems Jaguar
SBC (rk3588), Powkiddy X55 and RK2023 handheld (rk3566), Edgeble-Neu6b (rk3588)
The rk3588 got attention with one working usb3 host on Rock-5a/5b, Orangepi-5
and audio for the EVB1.
Some smaller improvements for the other socs (fifo-depths on rk3328,
gpio-line-names on rk3308-rock-pi-s, gpu power-coefficients on rk3399,
and a fix for the newly converted gpio-fan yaml binding).
Also a number of aliases were moved. Always-numbered core busses can have their
aliases in the soc dtsi, as is done in a number of cases already and other alises
like ethernet really should be per board.
* tag 'v6.8-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (31 commits)
arm64: dts: rockchip: Add Anbernic RG351V
arm64: dts: rockchip: Split RG351M from Odroid Go Advance
dt-bindings: arm: rockchip: Add Anbernic RG351V
arm64: dts: rockchip: Add ethernet0 alias to the dts for RK3588(S) boards
arm64: dts: rockchip: Add ethernet0 alias to the dts for RK3566 boards
arm64: dts: rockchip: Remove ethernet0 alias from the SoC dtsi for PX30
arm64: dts: rockchip: Remove ethernetX aliases from the SoC dtsi for RK3328
arm64: dts: rockchip: Remove ethernet0 alias from the SoC dtsi for RK3368
arm64: dts: rockchip: Remove ethernet0 alias from the SoC dtsi for RK3399
arm64: dts: rockchip: make dts use gpio-fan matrix instead of array
arm64: dts: rockchip: add gpio alias for gpio dt nodes
arm64: dts: rockchip: Add dynamic-power-coefficient to rk3399 GPU
arm64: dts: rockchip: add rk3588 spi aliases to soc dtsi
arm64: dts: rockchip: add rk3588 gpio aliases to soc dtsi
arm64: dts: rockchip: add rk3588 i2c aliases to soc dtsi
arm64: dts: rockchip: move rk3588 serial aliases to soc dtsi
arm64: dts: rockchip: add Theobroma Jaguar SBC
dt-bindings: arm: rockchip: Add Theobroma-Systems Jaguar SBC
arm64: dts: rockchip: Add Powkiddy X55
dt-bindings: arm: rockchip: Add Powkiddy X55
...
Link: https://lore.kernel.org/r/3535836.iIbC2pHGDl@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1. Exynos4212 and Exynos4412: Final fixes for dtbs_check warnings.
Replace duplicate PMU node in FIMC IS node with syscon phandle. The
old solution of duplicated PMU node was not a correct representation of
the hardware and could have concurrent access issues.
The DTS change depends on media FIMC IS drivers changes already
merged in previous cycle, thus it is not fully
backwards-compatible. It is a necessary trade-off in fixing wrong
description in DTS.
With this fix, `make dtbs_check` status looks like:
S3C6410: no warnings
Exynos: no warnings, one undocumented compatible
S5PV210: one warning, one undocumented compatible
2. Exynos4210, Exynos4212, Exynos4412, S5PV210:
Correct FIMC IS camera ranges and IO addresses to silence dtc W=1
warnings. No functional impact expected.
After this fix, there are no dtc W=1 warnings on all ARMv7 platforms.
3. Galaxy I9100: Fix 12-second hang during boot by enabling regulator
(real cause not really known), add touch keys and accelerometer.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmV4J3AQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD12XMD/9uenIkpHII8EkQqEAUpuOd50wXPJi9IrMm
r1bup6zhnQvxH9UOwn1oiaIQce/OxB7aAwKQ+Hzt8fQEI+ofDPc7bGtG97WKydJ0
bjnMs+XyhXKzapskMG4+g3pyd3mNTIz1BQfz9VAGpmJTB5/00ObjjR7Rjr/LjtGs
Vgm0XNlMDQlF61I1xtshO1dS/WTne27Jt64hi7lqPIbDZE2L9c3PHIOK1NCeZJz+
TqWyndp6l4x02K+3T1FN1FeLDsX+dKPJeJWnwuIc0KfWWnQawOJtpltjSoasuLJs
ujRmJbwcxKN8gVPOV+mPhsyu91jGclSE8av9jXuwzwiw2kKAzEtlu0yEfVLDcGrN
dcyY64nnU76SBaEdKjgOXyYuIyUGyp60Sf7lKqFJCjGBFBG2kK8lE6lb3Wn6coeO
t7S/J2se7/+hUonsQK4ID+JfxqXdxybeFBzQAZ045wDjSDLssvxKTL+Wkb61K9K6
vQaor3lT2BuU3PcyTKFkW0Qbm1V8XIu3PaLD0pOO+BMBHyJRYI9cArk5Mnb2/Pe7
FQ1HEtGbFbcvZM4MLlufT0KCDlTXmqZySXzNEKnbEhifJag7RuAI0+hQ/Rm6mklx
SRqsPasIX0/yf1wXRJSvlF5zplgCwwoPiAWW4F5EblJab8vJ/QLuUs64zlH4lOum
VG2CoSvFfw==
=DHU7
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEXQEACgkQYKtH/8kJ
Uielkw//Zj/xlIahxY5UPlj7ZEq2xbSP7wTxEXEf+A05kWBXEsHQYcwIQ/vdUT9Y
rh2DQxwXTR6F/NPNzT2kiCDYKN6FOfr0gJHLtRF4UllI7LPaf/S7rA5HhROkWhlM
u8k1mRr8WW+3OA8nGltrGRlskL8dMxsJ6lD2ZFBk9U4kDU26lFaUQI0q+kAF4uJY
UANPJd8HqrX0MMreuEIaUaoDl9ngRVRgBZNBL5yO2ipUMtTg74b+/YoB2T1rBo1z
ab51hxiRGJs6RgWRBjj78BDorINHQat9DR8LcMTMh6MzmJhmySlKUacby8h+B2bP
sS1o1K8EfegNzlzStj2kjEpDZQKpqUD8DKGfpPCV1F/YszxgdybJ3UCuKHPHukAY
ZIpnuPUdNq4Q5XURttcLEWSxO/qz+EgEM39T5MVh4/7USwf5feniQjq175PbnEjo
z5w1ywrBuIxEyS/AfFcHCZXR2F3ibPkCfTm26b8JYlGchrPeS/rqDHrc5Mv0zs1y
ACg0wxTRYtxapPtUuZAVrrMFp5PaKQH0b2wJEcm2ljSIlwS2of32yH05ap2gDylM
aM1aA+YKkhMrd3bOA2utS7Dx7W27KkaPLLF6IhMypFSbrh+PcXcCp1FsLlSzquOj
hYyp0oO7cxiPHZk7YMwCNQP4gm3ZkKB2AUH70XA8UQt8Pj587kY=
=WVOB
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM changes for v6.8
1. Exynos4212 and Exynos4412: Final fixes for dtbs_check warnings.
Replace duplicate PMU node in FIMC IS node with syscon phandle. The
old solution of duplicated PMU node was not a correct representation of
the hardware and could have concurrent access issues.
The DTS change depends on media FIMC IS drivers changes already
merged in previous cycle, thus it is not fully
backwards-compatible. It is a necessary trade-off in fixing wrong
description in DTS.
With this fix, `make dtbs_check` status looks like:
S3C6410: no warnings
Exynos: no warnings, one undocumented compatible
S5PV210: one warning, one undocumented compatible
2. Exynos4210, Exynos4212, Exynos4412, S5PV210:
Correct FIMC IS camera ranges and IO addresses to silence dtc W=1
warnings. No functional impact expected.
After this fix, there are no dtc W=1 warnings on all ARMv7 platforms.
3. Galaxy I9100: Fix 12-second hang during boot by enabling regulator
(real cause not really known), add touch keys and accelerometer.
* tag 'samsung-dt-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: dts: samsung: exynos4210-i9100: Add accelerometer node
ARM: dts: samsung: exynos4210-i9100: Add node for touch keys
ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12
ARM: dts: samsung: s5pv210: fix camera unit addresses/ranges
ARM: dts: samsung: exynos4: fix camera unit addresses/ranges
ARM: dts: samsung: exynos4x12: replace duplicate pmu node with phandle
Link: https://lore.kernel.org/r/20231212093105.13938-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Two (and a half) major items are coming with this pull request:
1. Add specific compatibles to all Samsung Exynos and Tesla FSD blocks,
because that's what guidelines expect [1] and is generally
recommended practice. Existing compatibles are left untouched, thus
no driver changes are needed. The work only cleans things up, so any
future contributions will use recommended style: specific and
fallback compatibles.
Since no driver changes are needed in this work and the DTS is
directly affected by bindings change (running tests with `make
dtbs_check`), this pull includes all bindings changes, even though
usual practice is that bindings come via driver subsystem. Keeping
everything here makes review and testing easier. Also will allow us
to avoid conflicts related to new platforms (see below).
2. Add ExynosAutov920 SoC and SADK board (Samsung Automotive Development
Kit) with minimal support so far: serial console, GPIO-based keys and
PWM fan.
3. Add few bindings for upcoming Google GS101 SoC. This pull request
does not include its DTS yet, just few reviewed dependencies. DTS
will be coming soon.
[1] Documentation/devicetree/bindings/writing-bindings.rst
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmV4JEMQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD13aED/96y5meeYeqH6dMEFkSCd0+hSixVBsKWKU+
fXiS2SYNIvhrXH2j2tEG/WYmlyjMifR0qM89sWjnY3/Q5VzuPqH1JbA75x6uOtrp
jJDpJUY8eNZaeH1uPwc/aXTo0MgRiBgQV7UpKMUGuubqHqzaI/RWEz7ORRLsr1Rk
fbEKicYa44LAIiq8/Nd3PJPWV3/f4zbIVnMZA2KU8atwKYtXX83Z4/RCJxoWYZxC
gd4ELuYpamkMKb9pecJUapnUJFAKivTGAQBlCH07P7Y556+VdKgNP1BPH3/Hcrtx
Lb3jtzYRYelHSFmR6FPubo2ucS1lV9QkQcab6dDGrR6kKR48Y2EXGXAxsJTN9hxf
1o3llbCEt2asbe/B2Jn0GN7DesUBXEtpPT3iyeK628/kgpGP73ZE06DnO35SjbOn
hSqUt+rN4/ogjjCVg9mUvOtPSCIq0SDGE5dptSsXoiXhT4/P3KXzhUIyt7O8amuh
EV9RpxTj1i31Eku7OhG9gRQX3NF4AOKnZ4KIsT5Zb8BLloKmA/XZ+DjaRYgrk/nk
BFW9K3ibjKNIfjUe7kKw2Jhc5FaUqUVed9Btewd/DUYZcjyWAW+n2SJcOzctulr3
6of3ITB8DI1E9+sW3k83YEfTqq5Zw3NUVlkv1FNmKUQVphs4VkltG1Q1dj/mAGqt
7VbV+8L6nQ==
=lXzb
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEXL8ACgkQYKtH/8kJ
UifimQ//ZREA+A4FZa3grA7C9qKmF4fY6OKe4JAqfc8Op828ai3dKZNtv1sFH1W2
z467IUj+xVbqvvKzCdkGQZboYRzcW+faHGgXg3665OIq17X9MEyQcl85QjUQS/0x
3tJ1UdlfxODGIHWuYFZu5V6rb1KM0JumMFKT/6hNnwkTnHg9akKoxbPIyIkwKcx9
T+hoy/BoUtOMZT7W9H9X9dfbeUHzm1AxyYH4J4FIUzbRWfEjoyCjpkIj1/O2iZ7n
hBljr57pHT9F86yutmDbPANoY7J9WnQ/tUo+TUIhMkgZSgIyduzHNe1DUgHcGYdb
3XOtFoYkehsIvJ6ou+tQBSqewi+JWlKHmvPgWqIE7Bt1OPNJc5B7Ff9ILzxP1QW0
KwNIi2ewIMZZSeu9sC/0Nj3NDmHEzaiKAd2mR9RJfBUfRe7M2/TSf+OiKOMaa5qw
j1thcD11ESWObxIO925x/wV6ilkXNgvkKoF/d6nO4MN7ZlYk/66GxNJ2L4AFrf7J
6F8M+64RpBSwrvjWgOen+HACbNoccJKvPcmzMbbPTyREjvTwpDTXFsLCajWw13ww
dhIEc/ROs4GZ7nOf7hOiBVyvo81vhrgDzZQ/N+OCr5SQH3l0OVAvshYtWqadOcgu
hYKHv2Z9WFHKYDtXhpVx0sWKXw/B3/NPWkHs9IAIozWAcy8tzxM=
=9UxE
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt64-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt
Samsung DTS ARM64 changes for v6.8
Two (and a half) major items are coming with this pull request:
1. Add specific compatibles to all Samsung Exynos and Tesla FSD blocks,
because that's what guidelines expect [1] and is generally
recommended practice. Existing compatibles are left untouched, thus
no driver changes are needed. The work only cleans things up, so any
future contributions will use recommended style: specific and
fallback compatibles.
Since no driver changes are needed in this work and the DTS is
directly affected by bindings change (running tests with `make
dtbs_check`), this pull includes all bindings changes, even though
usual practice is that bindings come via driver subsystem. Keeping
everything here makes review and testing easier. Also will allow us
to avoid conflicts related to new platforms (see below).
2. Add ExynosAutov920 SoC and SADK board (Samsung Automotive Development
Kit) with minimal support so far: serial console, GPIO-based keys and
PWM fan.
3. Add few bindings for upcoming Google GS101 SoC. This pull request
does not include its DTS yet, just few reviewed dependencies. DTS
will be coming soon.
[1] Documentation/devicetree/bindings/writing-bindings.rst
* tag 'samsung-dt64-6.8' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (38 commits)
arm64: dts: exynos: add minimal support for exynosautov920 sadk board
arm64: dts: exynos: add initial support for exynosautov920 SoC
dt-bindings: samsung: exynos-sysreg: combine exynosautov920 with other enum
dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101
dt-bindings: clock: Add Google gs101 clock management unit bindings
dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible
arm64: dts: fsd: add specific compatibles for Tesla FSD
dt-bindings: watchdog: samsung: add specific compatible for Tesla FSD
dt-bindings: samsung: exynos-pmu: add specific compatible for Tesla FSD
dt-bindings: serial: samsung: add specific compatible for Tesla FSD
dt-bindings: pwm: samsung: add specific compatible for Tesla FSD
dt-bindings: i2c: exynos5: add specific compatible for Tesla FSD
arm64: dts: exynosautov9: use Exynos7 fallbacks for pin wake-up controller
arm64: dts: exynos850: use Exynos7 fallbacks for pin wake-up controllers
dt-bindings: hwinfo: samsung,exynos-chipid: add exynosautov920 compatible
dt-bindings: arm: samsung: Document exynosautov920 SADK board binding
dt-bindings: pwm: samsung: add exynosautov920 compatible
dt-bindings: serial: samsung: add exynosautov920-uart compatible
dt-bindings: samsung: usi: add exynosautov920-usi compatible
dt-bindings: samsung: exynos-pmu: add exynosautov920 compatible
...
Link: https://lore.kernel.org/r/20231212093105.13938-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The DTS code coding style expects exactly one space before and after '='
sign.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20231212-ux500-dts-v1-1-5a31b6742d85@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- A series of patches to reorganize Motorola Mapphone related files to add
support for tablets as the peripherals are different compared to the
phones
- Apply am57xx-idk overlays to base dtbs
- Extcon update to use id-gpios and vbus-gpios
- Update omap4-epson-embt2ws to enable wlan clock and bluetooth-gnss
- Update for logicpd-torpedo to use bluetooth-gnss node name
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmVzBqQRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXOzXA/8DwjXEAgC0LZwHfkh8ThaZG8bWtgAOpR2
yK4eo8uwa+JAgBGxJbcGbOAW3sGRvU57PgjkRhirnOFLmjRP3XGDiQJuPZ5JjNJB
f0p/OTAzlStKHULAkFBHA+fCELuHLCJXvlbZlR0fMq19wfCpEsartuBNrQ0kiz/V
eLZXB/IGP6Jkt0NcHyFyNJB6cAwCciW6DsHFujgtT/yKE/zYB7Bt2mrrJkoeHgdn
bDbRfAREtZRibXv/sJKj2puPxNZAWDmaAum0ZJRTYK3FSPIoAsnMkK+IOy34HW5n
rW2ZKzb1EQwiIuOBjpiRUn9UGKIGBTVUwWsFEhMh/hilOqfe3jFNV9FvD2LQcs0E
pa53MgqQ3rKCp+CD1s8DGbN83cGjhfLaesEuRsj297OKS6rT2OYNQvV7fxzrCTIo
1avYarZjs5bh+QKQyiqVcxTKhLIgZ8UklsicqKxCUkaR/Tus3NqStrovHkhA+Flz
2IucbFVahNGIHzXLokNFsBWkCqgFKwAM+VYYEY1cT+8csgGtIKtPVtUzG+e/nMom
g6KLmODeyD5558ntYTH1xv8GmVeo5Sf6TdAHIE6s2GRKfEKUnU+tCQWN+09NtlpI
IdP1acFWClLOzIipzWMSmcIq7A5uYObgvrRRxclGmYMEFwTV5iLdtugppP9C/2Vf
Jd6itS+lMiE=
=70S3
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmWEW/wACgkQYKtH/8kJ
UifWbw//VG7YXgiiKz9i2ci1M/+BFe+UMDoSoxAN8h76oYjPKl6oZuD4R/EohnxA
In3dWl1Xi0VzFH1yIi+5p/77SiBCXuT8HwaicG75JsJjRsWxrmNVKcFXY4uGqkbJ
o0N9sMCuaV183TpYsrKIwGbuTZEpzRTBqNFXhRt7fEPWdeuCi2QExBRgxN41l8nI
jngSNWNYl3+fX7TPy8X1QZKgkyB39B6zFsab/4ooHh88PQC3i8Bk+cU04Hnc5IUR
f+7Jmcu0mLM7l/BAyC+LA+Z341aCMdJKCUeHJQbHMT/EwDXG2rF7LCvErTLCZsPd
+ifzHGJvgw2B/HnSOvOj0nhJo90pZPz2mCSrcugocbyOgcmrxc20qHRsViJBQBkQ
ow7H3OZgUlpuOTw3dAjJGbYGOE4Or1wRDcwBoUBTWO/PuJO9zQhFxWaNvQ2/bEYp
4siaOTlSB0uq7Z2wrbcSs1WTo8zZ7FgQU3Eu2Z7Tkh02dhkstSniNduW3i5NiINw
a7yoivL1y32UyVSNk9wPxuOxdZosmDh17C2uIvTsVigLecA3c8n/KM677+hnndGm
/YIXCF+5ZRcKPYFCoh5X9CrNoCJANzv/nWx3EI8/fju/4N1qM6GaIvWrXwV1jOUz
eOa48YTZvLdGCPS+mGAs2vNFdapS+zTGG/ltDJcCXxAcess0WXw=
=YLaQ
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v6.8/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/dt
Devicetree changes for omaps
- A series of patches to reorganize Motorola Mapphone related files to add
support for tablets as the peripherals are different compared to the
phones
- Apply am57xx-idk overlays to base dtbs
- Extcon update to use id-gpios and vbus-gpios
- Update omap4-epson-embt2ws to enable wlan clock and bluetooth-gnss
- Update for logicpd-torpedo to use bluetooth-gnss node name
* tag 'omap-for-v6.8/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap4-embt2ws: Add Bluetooth
ARM: dts: omap: logicpd-torpedo: do not disguise GNSS device
ARM: dts: omap4-embt2ws: enable 32K clock on WLAN
ARM: dts: ti/omap: Replace deprecated extcon-usb-gpio id-gpio/vbus-gpio properties
arm: dts: omap: Apply am57xx-idk overlays to base dtbs
ARM: dts: motorola-mapphone: Add basic support for mz609 and mz617
ARM: dts: motorola-mapphone: Move handset devices to a common file
ARM: dts: motorola-mapphone: Move LCD to common file for xt875 and xt894
dt-bindings: omap: Add Motorola mapphone mz609 and mz617 tablets
Link: https://lore.kernel.org/r/pull-1702037869-295608@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The synth_event_gen_test module can be built in, if someone wants to run
the tests at boot up and not have to load them.
The synth_event_gen_test_init() function creates and enables the synthetic
events and runs its tests.
The synth_event_gen_test_exit() disables the events it created and
destroys the events.
If the module is builtin, the events are never disabled. The issue is, the
events should be disable after the tests are run. This could be an issue
if the rest of the boot up tests are enabled, as they expect the events to
be in a known state before testing. That known state happens to be
disabled.
When CONFIG_SYNTH_EVENT_GEN_TEST=y and CONFIG_EVENT_TRACE_STARTUP_TEST=y
a warning will trigger:
Running tests on trace events:
Testing event create_synth_test:
Enabled event during self test!
------------[ cut here ]------------
WARNING: CPU: 2 PID: 1 at kernel/trace/trace_events.c:4150 event_trace_self_tests+0x1c2/0x480
Modules linked in:
CPU: 2 PID: 1 Comm: swapper/0 Not tainted 6.7.0-rc2-test-00031-gb803d7c664d5-dirty #276
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
RIP: 0010:event_trace_self_tests+0x1c2/0x480
Code: bb e8 a2 ab 5d fc 48 8d 7b 48 e8 f9 3d 99 fc 48 8b 73 48 40 f6 c6 01 0f 84 d6 fe ff ff 48 c7 c7 20 b6 ad bb e8 7f ab 5d fc 90 <0f> 0b 90 48 89 df e8 d3 3d 99 fc 48 8b 1b 4c 39 f3 0f 85 2c ff ff
RSP: 0000:ffffc9000001fdc0 EFLAGS: 00010246
RAX: 0000000000000029 RBX: ffff88810399ca80 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffffb9f19478 RDI: ffff88823c734e64
RBP: ffff88810399f300 R08: 0000000000000000 R09: fffffbfff79eb32a
R10: ffffffffbcf59957 R11: 0000000000000001 R12: ffff888104068090
R13: ffffffffbc89f0a0 R14: ffffffffbc8a0f08 R15: 0000000000000078
FS: 0000000000000000(0000) GS:ffff88823c700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000001f6282001 CR4: 0000000000170ef0
Call Trace:
<TASK>
? __warn+0xa5/0x200
? event_trace_self_tests+0x1c2/0x480
? report_bug+0x1f6/0x220
? handle_bug+0x6f/0x90
? exc_invalid_op+0x17/0x50
? asm_exc_invalid_op+0x1a/0x20
? tracer_preempt_on+0x78/0x1c0
? event_trace_self_tests+0x1c2/0x480
? __pfx_event_trace_self_tests_init+0x10/0x10
event_trace_self_tests_init+0x27/0xe0
do_one_initcall+0xd6/0x3c0
? __pfx_do_one_initcall+0x10/0x10
? kasan_set_track+0x25/0x30
? rcu_is_watching+0x38/0x60
kernel_init_freeable+0x324/0x450
? __pfx_kernel_init+0x10/0x10
kernel_init+0x1f/0x1e0
? _raw_spin_unlock_irq+0x33/0x50
ret_from_fork+0x34/0x60
? __pfx_kernel_init+0x10/0x10
ret_from_fork_asm+0x1b/0x30
</TASK>
This is because the synth_event_gen_test_init() left the synthetic events
that it created enabled. By having it disable them after testing, the
other selftests will run fine.
Link: https://lore.kernel.org/linux-trace-kernel/20231220111525.2f0f49b0@gandalf.local.home
Cc: stable@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Fixes: 9fe41efaca ("tracing: Add synth event generation test module")
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reported-by: Alexander Graf <graf@amazon.com>
Tested-by: Alexander Graf <graf@amazon.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
In order to reduce memory footprints even further, let's allow
partially filled compressed bvecs for readahead to bail out later.
Signed-off-by: Yue Hu <huyue2@coolpad.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20231221062341.23901-1-zbestahu@gmail.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Dongliang reported:
I found that in the latest version, the nodes of tracefs have been
changed to dynamically created.
This has caused me to encounter a problem where the gid I specified in
the mounting parameters cannot apply to all files, as in the following
situation:
/data/tmp/events # mount | grep tracefs
tracefs on /data/tmp type tracefs (rw,seclabel,relatime,gid=3012)
gid 3012 = readtracefs
/data/tmp # ls -lh
total 0
-r--r----- 1 root readtracefs 0 1970-01-01 08:00 README
-r--r----- 1 root readtracefs 0 1970-01-01 08:00 available_events
ums9621_1h10:/data/tmp/events # ls -lh
total 0
drwxr-xr-x 2 root root 0 2023-12-19 00:56 alarmtimer
drwxr-xr-x 2 root root 0 2023-12-19 00:56 asoc
It will prevent certain applications from accessing tracefs properly, I
try to avoid this issue by making the following modifications.
To fix this, have the files created default to taking the ownership of
the parent dentry unless the ownership was previously set by the user.
Link: https://lore.kernel.org/linux-trace-kernel/1703063706-30539-1-git-send-email-dongliang.cui@unisoc.com/
Link: https://lore.kernel.org/linux-trace-kernel/20231220105017.1489d790@gandalf.local.home
Cc: stable@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Hongyu Jin <hongyu.jin@unisoc.com>
Fixes: 28e12c09f5 ("eventfs: Save ownership and mode")
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reported-by: Dongliang Cui <cuidongliang390@gmail.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Convert the driver to be agnostic to the property provider.
LEDS subsytem is not dependent on OF, so no need to make drivers
be a such.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20231214192131.1309912-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Lee Jones <lee@kernel.org>
leds-max5970.c:50:21: warning: variable 'num_leds' set but not used [-Wunused-but-set-variable]
Remove unused variable.
Fixes: 736214b4b0 ("leds: max5970: Add support for max5970")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231214184050.1272848-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Lee Jones <lee@kernel.org>
Using calculate_bit_shift() to replace rtl8723_phy_calculate_bit_shift().
And fix an undefined bitwise shift behavior problem.
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-12-suhui@nfschina.com
Using calculate_bit_shift() to replace rtl8723_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 0a168b48cd ("rtlwifi: rtl8723ae: rtl8723-common: Create new driver for common code")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-11-suhui@nfschina.com
Using calculate_bit_shift() to replace _rtl92s_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: d15853163b ("rtlwifi: rtl8192se: Merge phy routines")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-10-suhui@nfschina.com
Using calculate_bit_shift() to replace _rtl92ee_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: b1a3bfc97c ("rtlwifi: rtl8192ee: Move driver from staging to the regular tree")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-9-suhui@nfschina.com
Using calculate_bit_shift() to replace _rtl92d_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 7274a8c229 ("rtlwifi: rtl8192de: Merge phy routines")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-8-suhui@nfschina.com
Using calculate_bit_shift() to replace _rtl92c_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 0c8173385e ("rtl8192ce: Add new driver")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-7-suhui@nfschina.com
Using calculate_bit_shift() to replace _rtl92c_phy_calculate_bit_shift().
And fix an undefined bitwise shift behavior problem.
Fixes: f0a39ae738 ("rtlwifi: rtl8192cu: Add routine phy")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-6-suhui@nfschina.com
Using calculate_bit_shift() to replace _rtl92c_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: 4295cd254a ("rtlwifi: Move common parts of rtl8192ce/phy.c")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-5-suhui@nfschina.com
Using calculate_bit_shift() to replace _rtl88e_phy_calculate_bit_shift().
And fix the undefined bitwise shift behavior problem.
Fixes: f0eb856e0b ("rtlwifi: rtl8188ee: Add new driver")
Signed-off-by: Su Hui <suhui@nfschina.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-4-suhui@nfschina.com
There are many same functions like _rtl88e_phy_calculate_bit_shift(),
_rtl92c_phy_calculate_bit_shift() and so on. And these functions can
cause undefined bitwise shift behavior. Add calculate_bit_shift() to
replace them and fix undefined behavior in subsequent patches.
Signed-off-by: Su Hui <suhui@nfschina.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20231219065739.1895666-2-suhui@nfschina.com
Since commit 0166dc11be ("of: make CONFIG_OF user selectable"), it
is possible to test-build any driver which depends on OF on any
architecture by explicitly selecting OF. Therefore depending on
COMPILE_TEST as an alternative is no longer needed.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Link: https://lore.kernel.org/r/20231202214353.7c02f23c@endymion.delvare
Signed-off-by: Lee Jones <lee@kernel.org>
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new(), which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Xu Yilun <yilun.xu@intel.com>
Link: https://lore.kernel.org/r/e63d4155f96f3504f7e3d6a4775c3807c90dd6ce.1703006638.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Xu Yilun <yilun.xu@linux.intel.com>
In the framework of the MIPS architecture the mips_set_machine_name()
method is defined to set the machine name. The name currently is only used
in the /proc/cpuinfo file content generation. Let's have it utilized to
mach-personalize the dump-stack data too in a way it's done on ARM, ARM64,
RISC-V, etc.
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>