* [PATCH v3 0/5]
@ 2009-11-10 22:36 Alex Chiang
2009-11-10 22:36 ` [PATCH v3 1/5] mm: add numa node symlink for memory section in sysfs Alex Chiang
` (4 more replies)
0 siblings, 5 replies; 18+ messages in thread
From: Alex Chiang @ 2009-11-10 22:36 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel, rientjes
This is v3 of the series.
I based it off of Linus's latest tree.
I did not include David Rientjes's "mm: slab allocate memory section nodemask
for large systems" patch in my series, since it's not necessarily related.
Please consider for inclusion for the next merge window (v2.6.33).
Thanks,
/ac
v2 -> v3:
- rebased to Linus's latest tree (799dd75b)
- Added David Rientjes's Acked-by: flags
- dropped S390 cc's, since they are unaffected by this series
v1 -> v2: http://thread.gmane.org/gmane.linux.kernel.mm/40084/
Address David Rientjes's comments
- check return value of sysfs_create_link in register_cpu_under_node
- do /not/ convert [un]register_cpu_under_node to return void, since
sparse starts whinging if you ignore sysfs_create_link()'s return
value and working around sparse makes the code ugly
- adjust documentation
Added S390 maintainers to cc: for patch [1/5] as per Kame-san's
suggestion. S390 may map a memory section to more than one node,
causing this series to break.
---
Alex Chiang (5):
mm: add numa node symlink for memory section in sysfs
mm: refactor register_cpu_under_node()
mm: refactor unregister_cpu_under_node()
mm: add numa node symlink for cpu devices in sysfs
Documentation: ABI: /sys/devices/system/cpu/cpu#/node
Documentation/ABI/testing/sysfs-devices-memory | 14 ++++-
Documentation/ABI/testing/sysfs-devices-system-cpu | 14 +++++
Documentation/memory-hotplug.txt | 11 ++--
drivers/base/node.c | 58 ++++++++++++++------
4 files changed, 76 insertions(+), 21 deletions(-)
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 1/5] mm: add numa node symlink for memory section in sysfs
2009-11-10 22:36 [PATCH v3 0/5] Alex Chiang
@ 2009-11-10 22:36 ` Alex Chiang
2009-11-12 17:26 ` Gary Hade
2009-11-10 22:36 ` [PATCH v3 2/5] mm: refactor register_cpu_under_node() Alex Chiang
` (3 subsequent siblings)
4 siblings, 1 reply; 18+ messages in thread
From: Alex Chiang @ 2009-11-10 22:36 UTC (permalink / raw)
To: akpm
Cc: Gary Hade, linux-kernel, linux-mm, Badari Pulavarty,
David Rientjes, Ingo Molnar
Commit c04fc586c (mm: show node to memory section relationship with
symlinks in sysfs) created symlinks from nodes to memory sections, e.g.
/sys/devices/system/node/node1/memory135 -> ../../memory/memory135
If you're examining the memory section though and are wondering what
node it might belong to, you can find it by grovelling around in
sysfs, but it's a little cumbersome.
Add a reverse symlink for each memory section that points back to the
node to which it belongs.
Cc: Gary Hade <garyhade@us.ibm.com>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
---
Documentation/ABI/testing/sysfs-devices-memory | 14 +++++++++++++-
Documentation/memory-hotplug.txt | 11 +++++++----
drivers/base/node.c | 11 ++++++++++-
3 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/Documentation/ABI/testing/sysfs-devices-memory b/Documentation/ABI/testing/sysfs-devices-memory
index 9fe91c0..bf1627b 100644
--- a/Documentation/ABI/testing/sysfs-devices-memory
+++ b/Documentation/ABI/testing/sysfs-devices-memory
@@ -60,6 +60,19 @@ Description:
Users: hotplug memory remove tools
https://w3.opensource.ibm.com/projects/powerpc-utils/
+
+What: /sys/devices/system/memoryX/nodeY
+Date: October 2009
+Contact: Linux Memory Management list <linux-mm@kvack.org>
+Description:
+ When CONFIG_NUMA is enabled, a symbolic link that
+ points to the corresponding NUMA node directory.
+
+ For example, the following symbolic link is created for
+ memory section 9 on node0:
+ /sys/devices/system/memory/memory9/node0 -> ../../node/node0
+
+
What: /sys/devices/system/node/nodeX/memoryY
Date: September 2008
Contact: Gary Hade <garyhade@us.ibm.com>
@@ -70,4 +83,3 @@ Description:
memory section directory. For example, the following symbolic
link is created for memory section 9 on node0.
/sys/devices/system/node/node0/memory9 -> ../../memory/memory9
-
diff --git a/Documentation/memory-hotplug.txt b/Documentation/memory-hotplug.txt
index bbc8a6a..57e7e9c 100644
--- a/Documentation/memory-hotplug.txt
+++ b/Documentation/memory-hotplug.txt
@@ -160,12 +160,15 @@ Under each section, you can see 4 files.
NOTE:
These directories/files appear after physical memory hotplug phase.
-If CONFIG_NUMA is enabled the
-/sys/devices/system/memory/memoryXXX memory section
-directories can also be accessed via symbolic links located in
-the /sys/devices/system/node/node* directories. For example:
+If CONFIG_NUMA is enabled the memoryXXX/ directories can also be accessed
+via symbolic links located in the /sys/devices/system/node/node* directories.
+
+For example:
/sys/devices/system/node/node0/memory9 -> ../../memory/memory9
+A backlink will also be created:
+/sys/devices/system/memory/memory9/node0 -> ../../node/node0
+
--------------------------------
4. Physical memory hot-add phase
--------------------------------
diff --git a/drivers/base/node.c b/drivers/base/node.c
index 1fe5536..3108b21 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -268,6 +268,7 @@ static int get_nid_for_pfn(unsigned long pfn)
/* register memory section under specified node if it spans that node */
int register_mem_sect_under_node(struct memory_block *mem_blk, int nid)
{
+ int ret;
unsigned long pfn, sect_start_pfn, sect_end_pfn;
if (!mem_blk)
@@ -284,9 +285,15 @@ int register_mem_sect_under_node(struct memory_block *mem_blk, int nid)
continue;
if (page_nid != nid)
continue;
- return sysfs_create_link_nowarn(&node_devices[nid].sysdev.kobj,
+ ret = sysfs_create_link_nowarn(&node_devices[nid].sysdev.kobj,
&mem_blk->sysdev.kobj,
kobject_name(&mem_blk->sysdev.kobj));
+ if (ret)
+ return ret;
+
+ return sysfs_create_link_nowarn(&mem_blk->sysdev.kobj,
+ &node_devices[nid].sysdev.kobj,
+ kobject_name(&node_devices[nid].sysdev.kobj));
}
/* mem section does not span the specified node */
return 0;
@@ -315,6 +322,8 @@ int unregister_mem_sect_under_nodes(struct memory_block *mem_blk)
continue;
sysfs_remove_link(&node_devices[nid].sysdev.kobj,
kobject_name(&mem_blk->sysdev.kobj));
+ sysfs_remove_link(&mem_blk->sysdev.kobj,
+ kobject_name(&node_devices[nid].sysdev.kobj));
}
return 0;
}
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 2/5] mm: refactor register_cpu_under_node()
2009-11-10 22:36 [PATCH v3 0/5] Alex Chiang
2009-11-10 22:36 ` [PATCH v3 1/5] mm: add numa node symlink for memory section in sysfs Alex Chiang
@ 2009-11-10 22:36 ` Alex Chiang
2009-11-10 22:36 ` [PATCH v3 3/5] mm: refactor unregister_cpu_under_node() Alex Chiang
` (2 subsequent siblings)
4 siblings, 0 replies; 18+ messages in thread
From: Alex Chiang @ 2009-11-10 22:36 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel
By returning early if the node is not online, we can unindent the
interesting code by one level.
No functional change.
Signed-off-by: Alex Chiang <achiang@hp.com>
---
drivers/base/node.c | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/base/node.c b/drivers/base/node.c
index 3108b21..ef7dd22 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -227,16 +227,18 @@ struct node node_devices[MAX_NUMNODES];
*/
int register_cpu_under_node(unsigned int cpu, unsigned int nid)
{
- if (node_online(nid)) {
- struct sys_device *obj = get_cpu_sysdev(cpu);
- if (!obj)
- return 0;
- return sysfs_create_link(&node_devices[nid].sysdev.kobj,
- &obj->kobj,
- kobject_name(&obj->kobj));
- }
+ struct sys_device *obj;
- return 0;
+ if (!node_online(nid))
+ return 0;
+
+ obj = get_cpu_sysdev(cpu);
+ if (!obj)
+ return 0;
+
+ return sysfs_create_link(&node_devices[nid].sysdev.kobj,
+ &obj->kobj,
+ kobject_name(&obj->kobj));
}
int unregister_cpu_under_node(unsigned int cpu, unsigned int nid)
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 3/5] mm: refactor unregister_cpu_under_node()
2009-11-10 22:36 [PATCH v3 0/5] Alex Chiang
2009-11-10 22:36 ` [PATCH v3 1/5] mm: add numa node symlink for memory section in sysfs Alex Chiang
2009-11-10 22:36 ` [PATCH v3 2/5] mm: refactor register_cpu_under_node() Alex Chiang
@ 2009-11-10 22:36 ` Alex Chiang
2009-11-10 22:36 ` [PATCH v3 4/5] mm: add numa node symlink for cpu devices in sysfs Alex Chiang
2009-11-10 22:37 ` [PATCH v3 5/5] Documentation: ABI: /sys/devices/system/cpu/cpu#/node Alex Chiang
4 siblings, 0 replies; 18+ messages in thread
From: Alex Chiang @ 2009-11-10 22:36 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel
By returning early if the node is not online, we can unindent the
interesting code by two levels.
No functional change.
Signed-off-by: Alex Chiang <achiang@hp.com>
---
drivers/base/node.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/drivers/base/node.c b/drivers/base/node.c
index ef7dd22..ffda067 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -243,12 +243,18 @@ int register_cpu_under_node(unsigned int cpu, unsigned int nid)
int unregister_cpu_under_node(unsigned int cpu, unsigned int nid)
{
- if (node_online(nid)) {
- struct sys_device *obj = get_cpu_sysdev(cpu);
- if (obj)
- sysfs_remove_link(&node_devices[nid].sysdev.kobj,
- kobject_name(&obj->kobj));
- }
+ struct sys_device *obj;
+
+ if (!node_online(nid))
+ return 0;
+
+ obj = get_cpu_sysdev(cpu);
+ if (!obj)
+ return 0;
+
+ sysfs_remove_link(&node_devices[nid].sysdev.kobj,
+ kobject_name(&obj->kobj));
+
return 0;
}
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 4/5] mm: add numa node symlink for cpu devices in sysfs
2009-11-10 22:36 [PATCH v3 0/5] Alex Chiang
` (2 preceding siblings ...)
2009-11-10 22:36 ` [PATCH v3 3/5] mm: refactor unregister_cpu_under_node() Alex Chiang
@ 2009-11-10 22:36 ` Alex Chiang
2009-11-10 22:37 ` [PATCH v3 5/5] Documentation: ABI: /sys/devices/system/cpu/cpu#/node Alex Chiang
4 siblings, 0 replies; 18+ messages in thread
From: Alex Chiang @ 2009-11-10 22:36 UTC (permalink / raw)
To: akpm; +Cc: linux-mm, linux-kernel, David Rientjes
You can discover which CPUs belong to a NUMA node by examining
/sys/devices/system/node/node#/
However, it's not convenient to go in the other direction, when looking at
/sys/devices/system/cpu/cpu#/
Yes, you can muck about in sysfs, but adding these symlinks makes
life a lot more convenient.
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
---
drivers/base/node.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/drivers/base/node.c b/drivers/base/node.c
index ffda067..24fa962 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -227,6 +227,7 @@ struct node node_devices[MAX_NUMNODES];
*/
int register_cpu_under_node(unsigned int cpu, unsigned int nid)
{
+ int ret;
struct sys_device *obj;
if (!node_online(nid))
@@ -236,9 +237,15 @@ int register_cpu_under_node(unsigned int cpu, unsigned int nid)
if (!obj)
return 0;
- return sysfs_create_link(&node_devices[nid].sysdev.kobj,
+ ret = sysfs_create_link(&node_devices[nid].sysdev.kobj,
&obj->kobj,
kobject_name(&obj->kobj));
+ if (ret)
+ return ret;
+
+ return sysfs_create_link(&obj->kobj,
+ &node_devices[nid].sysdev.kobj,
+ kobject_name(&node_devices[nid].sysdev.kobj));
}
int unregister_cpu_under_node(unsigned int cpu, unsigned int nid)
@@ -254,6 +261,8 @@ int unregister_cpu_under_node(unsigned int cpu, unsigned int nid)
sysfs_remove_link(&node_devices[nid].sysdev.kobj,
kobject_name(&obj->kobj));
+ sysfs_remove_link(&obj->kobj,
+ kobject_name(&node_devices[nid].sysdev.kobj));
return 0;
}
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 5/5] Documentation: ABI: /sys/devices/system/cpu/cpu#/node
2009-11-10 22:36 [PATCH v3 0/5] Alex Chiang
` (3 preceding siblings ...)
2009-11-10 22:36 ` [PATCH v3 4/5] mm: add numa node symlink for cpu devices in sysfs Alex Chiang
@ 2009-11-10 22:37 ` Alex Chiang
4 siblings, 0 replies; 18+ messages in thread
From: Alex Chiang @ 2009-11-10 22:37 UTC (permalink / raw)
To: akpm; +Cc: Randy Dunlap, linux-mm, linux-kernel, Greg KH
Describe NUMA node symlink created for CPUs when CONFIG_NUMA is set.
Cc: Greg KH <greg@kroah.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
---
Documentation/ABI/testing/sysfs-devices-system-cpu | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
index 5aace16..1671634 100644
--- a/Documentation/ABI/testing/sysfs-devices-system-cpu
+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
@@ -94,6 +94,20 @@ Description: Discover and change the online state of a CPU.
For more information, please read Documentation/cpu-hotplug.txt
+What: /sys/devices/system/cpu/cpu#/node
+Date: October 2009
+Contact: Linux memory management mailing list <linux-mm@kvack.org>
+Description: Discover NUMA node a CPU belongs to
+
+ When CONFIG_NUMA is enabled, a symbolic link that points
+ to the corresponding NUMA node directory.
+
+ For example, the following symlink is created for cpu42
+ in NUMA node 2:
+
+ /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2
+
+
What: /sys/devices/system/cpu/cpu#/topology/core_id
/sys/devices/system/cpu/cpu#/topology/core_siblings
/sys/devices/system/cpu/cpu#/topology/core_siblings_list
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 1/5] mm: add numa node symlink for memory section in sysfs
2009-11-10 22:36 ` [PATCH v3 1/5] mm: add numa node symlink for memory section in sysfs Alex Chiang
@ 2009-11-12 17:26 ` Gary Hade
0 siblings, 0 replies; 18+ messages in thread
From: Gary Hade @ 2009-11-12 17:26 UTC (permalink / raw)
To: Alex Chiang
Cc: akpm, Gary Hade, linux-kernel, linux-mm, Badari Pulavarty,
David Rientjes, Ingo Molnar
On Tue, Nov 10, 2009 at 03:36:44PM -0700, Alex Chiang wrote:
> Commit c04fc586c (mm: show node to memory section relationship with
> symlinks in sysfs) created symlinks from nodes to memory sections, e.g.
>
> /sys/devices/system/node/node1/memory135 -> ../../memory/memory135
>
> If you're examining the memory section though and are wondering what
> node it might belong to, you can find it by grovelling around in
> sysfs, but it's a little cumbersome.
>
> Add a reverse symlink for each memory section that points back to the
> node to which it belongs.
Hi Alex,
I'm kinda late to the party but I finally had a chance to review
and try it out on one of our systems today. Looks good to me.
Tested-by: Gary Hade <garyhade@us.ibm.com>
Acked-by: Gary Hade <garyhade@us.ibm.com>
Gary
--
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503 IBM T/L: 775-4503
garyhade@us.ibm.com
http://www.ibm.com/linux/ltc
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 0/5]
2023-05-29 15:35 Bernhard Rosenkränzer
@ 2023-05-29 16:30 ` Matthias Brugger
0 siblings, 0 replies; 18+ messages in thread
From: Matthias Brugger @ 2023-05-29 16:30 UTC (permalink / raw)
To: Bernhard Rosenkränzer, daniel.lezcano,
angelogioacchino.delregno, rafael, amitk, rui.zhang, robh+dt,
krzystof.kozlowski+dt, rdunlap, ye.xingchen, p.zabel
Cc: linux-pm, linux-kernel, linux-arm-kernel, linux-mediatek,
devicetree, wenst, james.lo, rex-bc.chen, nfraprado, abailon,
amergnat, khilman
Hi Bernhard,
Please resend with a subject line for the cover letter.
Regards,
Matthias
On 29/05/2023 17:35, Bernhard Rosenkränzer wrote:
> From: Balsam CHIHI <bchihi@baylibre.com>
>
> Add full LVTS support (MCU thermal domain + AP thermal domain) to MediaTek MT8192 SoC.
> Also, add Suspend and Resume support to LVTS Driver (all SoCs),
> and update the documentation that describes the Calibration Data Offsets.
>
> Changelog:
> v3 :
> - Rebased :
> base-commit: 6a3d37b4d885129561e1cef361216f00472f7d2e
> - Fix issues in v2 pointed out by Nícolas F. R. A. Prado <nfraprado@collabora.com>:
> Use filtered mode to make sure threshold interrupts are triggered,
> protocol documentation, cosmetics
> - I (bero@baylibre.com) will be taking care of this patchset
> from now on, since Balsam has left BayLibre. Thanks for
> getting it almost ready, Balsam!
>
> v2 :
> - Based on top of thermal/linux-next :
> base-commit: 7ac82227ee046f8234471de4c12a40b8c2d3ddcc
> - Squash "add thermal zones and thermal nodes" and
> "add temperature mitigation threshold" commits together to form
> "arm64: dts: mediatek: mt8192: Add thermal nodes and thermal zones" commit.
> - Add Suspend and Resume support to LVTS Driver.
> - Update Calibration Data documentation.
> - Fix calibration data offsets for mt8192
> (Thanks to "Chen-Yu Tsai" and "Nícolas F. R. A. Prado").
> https://lore.kernel.org/all/20230425133052.199767-1-bchihi@baylibre.com/
> Tested-by: Chen-Yu Tsai <wenst@chromium.org>
>
> v1 :
> - The initial series "Add LVTS support for mt8192" :
> "https://lore.kernel.org/all/20230307163413.143334-1-bchihi@baylibre.com/".
>
> Balsam CHIHI (5):
> dt-bindings: thermal: mediatek: Add LVTS thermal controller definition
> for mt8192
> thermal/drivers/mediatek/lvts_thermal: Add suspend and resume
> thermal/drivers/mediatek/lvts_thermal: Add mt8192 support
> arm64: dts: mediatek: mt8192: Add thermal nodes and thermal zones
> thermal/drivers/mediatek/lvts_thermal: Update calibration data
> documentation
>
> arch/arm64/boot/dts/mediatek/mt8192.dtsi | 454 ++++++++++++++++++
> drivers/thermal/mediatek/lvts_thermal.c | 160 +++++-
> .../thermal/mediatek,lvts-thermal.h | 19 +
> 3 files changed, 631 insertions(+), 2 deletions(-)
>
> base-commit: 6a3d37b4d885129561e1cef361216f00472f7d2e
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 0/5]
@ 2023-05-29 15:35 Bernhard Rosenkränzer
2023-05-29 16:30 ` Matthias Brugger
0 siblings, 1 reply; 18+ messages in thread
From: Bernhard Rosenkränzer @ 2023-05-29 15:35 UTC (permalink / raw)
To: daniel.lezcano, angelogioacchino.delregno, rafael, amitk,
rui.zhang, matthias.bgg, robh+dt, krzystof.kozlowski+dt, rdunlap,
ye.xingchen, p.zabel
Cc: linux-pm, linux-kernel, linux-arm-kernel, linux-mediatek,
devicetree, wenst, james.lo, rex-bc.chen, nfraprado, abailon,
amergnat, khilman
From: Balsam CHIHI <bchihi@baylibre.com>
Add full LVTS support (MCU thermal domain + AP thermal domain) to MediaTek MT8192 SoC.
Also, add Suspend and Resume support to LVTS Driver (all SoCs),
and update the documentation that describes the Calibration Data Offsets.
Changelog:
v3 :
- Rebased :
base-commit: 6a3d37b4d885129561e1cef361216f00472f7d2e
- Fix issues in v2 pointed out by Nícolas F. R. A. Prado <nfraprado@collabora.com>:
Use filtered mode to make sure threshold interrupts are triggered,
protocol documentation, cosmetics
- I (bero@baylibre.com) will be taking care of this patchset
from now on, since Balsam has left BayLibre. Thanks for
getting it almost ready, Balsam!
v2 :
- Based on top of thermal/linux-next :
base-commit: 7ac82227ee046f8234471de4c12a40b8c2d3ddcc
- Squash "add thermal zones and thermal nodes" and
"add temperature mitigation threshold" commits together to form
"arm64: dts: mediatek: mt8192: Add thermal nodes and thermal zones" commit.
- Add Suspend and Resume support to LVTS Driver.
- Update Calibration Data documentation.
- Fix calibration data offsets for mt8192
(Thanks to "Chen-Yu Tsai" and "Nícolas F. R. A. Prado").
https://lore.kernel.org/all/20230425133052.199767-1-bchihi@baylibre.com/
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
v1 :
- The initial series "Add LVTS support for mt8192" :
"https://lore.kernel.org/all/20230307163413.143334-1-bchihi@baylibre.com/".
Balsam CHIHI (5):
dt-bindings: thermal: mediatek: Add LVTS thermal controller definition
for mt8192
thermal/drivers/mediatek/lvts_thermal: Add suspend and resume
thermal/drivers/mediatek/lvts_thermal: Add mt8192 support
arm64: dts: mediatek: mt8192: Add thermal nodes and thermal zones
thermal/drivers/mediatek/lvts_thermal: Update calibration data
documentation
arch/arm64/boot/dts/mediatek/mt8192.dtsi | 454 ++++++++++++++++++
drivers/thermal/mediatek/lvts_thermal.c | 160 +++++-
.../thermal/mediatek,lvts-thermal.h | 19 +
3 files changed, 631 insertions(+), 2 deletions(-)
base-commit: 6a3d37b4d885129561e1cef361216f00472f7d2e
--
2.41.0.rc2
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 0/5]
2019-02-08 16:11 Federico Vaga
@ 2019-02-09 21:41 ` Andrew Lunn
0 siblings, 0 replies; 18+ messages in thread
From: Andrew Lunn @ 2019-02-09 21:41 UTC (permalink / raw)
To: Federico Vaga; +Cc: Peter Korsgaard, linux-i2c, linux-kernel
On Fri, Feb 08, 2019 at 05:11:56PM +0100, Federico Vaga wrote:
> This patch set provides improvements to the i2c-ocore driver.
Hi Federico
Please could you fixup the SPDX patch, add my review/tested by tags,
and i think we are good to go.
Thanks
Andrew
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 0/5]
@ 2019-02-08 16:11 Federico Vaga
2019-02-09 21:41 ` Andrew Lunn
0 siblings, 1 reply; 18+ messages in thread
From: Federico Vaga @ 2019-02-08 16:11 UTC (permalink / raw)
To: Peter Korsgaard, Andrew Lunn; +Cc: linux-i2c, linux-kernel
This patch set provides improvements to the i2c-ocore driver.
[V2 -> V3]
- fix error condition on platform_get_irq(). Copied from
https://patchwork.ozlabs.org/patch/1038409/
[V1 -> V2]
- replaced usleep_range() with udelay() so that the polling version can be
used in atomic context.
- added dedicated patch for minor style issues
- fixed delay computation
- use spin_lock_irqsave(), instead of spin_trylock_irqsave(). IACK is always
necessary and a trylock would generate an extra interrupt for nothing
- make the driver ready for an eventual master_xfer_irqless()
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 0/5]
2018-05-18 14:39 Marc Zyngier
2018-05-18 16:29 ` Vince Weaver
@ 2018-05-21 18:19 ` Will Deacon
1 sibling, 0 replies; 18+ messages in thread
From: Will Deacon @ 2018-05-21 18:19 UTC (permalink / raw)
To: Marc Zyngier
Cc: linux-arm-kernel, linux-kernel, Mark Rutland, Russell King,
Vladimir Murzin, Vince Weaver, Peter Zijlstra, Stefan Wahren,
Eric Anholt, Florian Fainelli
Hi Marc,
Thanks for this.
On Fri, May 18, 2018 at 03:39:08PM +0100, Marc Zyngier wrote:
> PMUv3 has been introduced with ARMv8 and, while it has only been used
> on 64bit systems so far, it would definitely be useful for 32bit
> guests running under KVM/arm64, for example.
>
> There is also the case of people natively running 32bit kernels on
> 64bit HW and trying to upstream unspeakable hacks, hoping that the
> stars will align and that they'll win the lottery (see [1]).
>
> So let's try again, and make the PMUv3 driver usable for everyone.
>
> This is done in three steps:
> (1) Move the driver from arch/arm64 to drivers/perf
> (2) Add a handful of system register accessors so that we can reuse
> the driver on 32bit
> (3) Provide the same accessors on 32bit, enable compilation, and
> make it the default selection for mach-virt.
>
> Tested on a Seattle box with 32bit guests.
I think we should go ahead with something like this, but I don't think
we're quite there with these patches. If we're going to move the arch code
out into drivers, let's do that for the perf_event* files under arch/arm/
as well. Then we could have a structure along the lines of:
drivers/perf/arm_pmu.c - As it is today
drivers/perf/arm_cpu/xscale_pmu.c - Only builds for 32-bit
drivers/perf/arm_cpu/armv6_pmu.c - Only builds for 32-bit
drivers/perf/arm_cpu/arch_pmu.c - Works for v7/v8 on
both 32-bit and 64-bit
The latter can then pull in whatever accessors it needs from the arch
code headers.
I know it's more of an invasive change, but this way we always end up
running the same code on the two architectures and it will be much easier
to maintain.
Will
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 0/5]
2018-05-18 16:41 ` Marc Zyngier
@ 2018-05-18 17:39 ` Stefan Wahren
0 siblings, 0 replies; 18+ messages in thread
From: Stefan Wahren @ 2018-05-18 17:39 UTC (permalink / raw)
To: Marc Zyngier, Vince Weaver
Cc: Peter Zijlstra, Florian Fainelli, Vladimir Murzin, Eric Anholt,
Mark Rutland, Russell King, Will Deacon, linux-kernel,
linux-arm-kernel
> Marc Zyngier <marc.zyngier@arm.com> hat am 18. Mai 2018 um 18:41 geschrieben:
>
>
> [/me beats himself for not writing a subject line...]
>
> On 18/05/18 17:29, Vince Weaver wrote:
> > On Fri, 18 May 2018, Marc Zyngier wrote:
> >
> >> There is also the case of people natively running 32bit kernels on
> >> 64bit HW and trying to upstream unspeakable hacks, hoping that the
> >> stars will align and that they'll win the lottery (see [1]).
> >
> > I've tested these patches on a Raspberry Pi 3B running a 32-bit upstream
> > (4.17-rc5-git) kernel and they work.
> >
> > [ 0.472906] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
> >
> > I only needed to add this to the devicetree
> >
> > arm-pmu {
> > compatible = "arm,cortex-a53-pmu";
> > interrupt-parent = <&local_intc>;
> > interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
> > };
>
> That's definitely the sensible thing to have on such hardware. Why isn't
> it in the upstream DT already, irrespective of the state of the kernel
> support?
I remember that Vince point out the absence. He asked about how to implement it and i wasn't sure about it. At this time we hadn't IRQ polarity support. So we wanted to get this puzzle piece before. In march i put it on my TODO list, but then RPI 3 B+ support had higher prio to get into 4.18.
In general we have the problem that most of the users take the downstream kernel and don't know about the differences. Luckily more distributions switch to the upstream kernel, which increases the feedback.
>
> > Tested-by: Vince Weaver <vincent.weaver@maine.edu>
Thanks again
Stefan
>
> Thanks a lot for testing.
>
> M.
> --
> Jazz is not dead. It just smells funny...
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 0/5]
2018-05-18 16:29 ` Vince Weaver
@ 2018-05-18 16:41 ` Marc Zyngier
2018-05-18 17:39 ` Stefan Wahren
0 siblings, 1 reply; 18+ messages in thread
From: Marc Zyngier @ 2018-05-18 16:41 UTC (permalink / raw)
To: Vince Weaver
Cc: linux-arm-kernel, linux-kernel, Will Deacon, Mark Rutland,
Russell King, Vladimir Murzin, Peter Zijlstra, Stefan Wahren,
Eric Anholt, Florian Fainelli
[/me beats himself for not writing a subject line...]
On 18/05/18 17:29, Vince Weaver wrote:
> On Fri, 18 May 2018, Marc Zyngier wrote:
>
>> There is also the case of people natively running 32bit kernels on
>> 64bit HW and trying to upstream unspeakable hacks, hoping that the
>> stars will align and that they'll win the lottery (see [1]).
>
> I've tested these patches on a Raspberry Pi 3B running a 32-bit upstream
> (4.17-rc5-git) kernel and they work.
>
> [ 0.472906] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
>
> I only needed to add this to the devicetree
>
> arm-pmu {
> compatible = "arm,cortex-a53-pmu";
> interrupt-parent = <&local_intc>;
> interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
> };
That's definitely the sensible thing to have on such hardware. Why isn't
it in the upstream DT already, irrespective of the state of the kernel
support?
> Tested-by: Vince Weaver <vincent.weaver@maine.edu>
Thanks a lot for testing.
M.
--
Jazz is not dead. It just smells funny...
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 0/5]
2018-05-18 14:39 Marc Zyngier
@ 2018-05-18 16:29 ` Vince Weaver
2018-05-18 16:41 ` Marc Zyngier
2018-05-21 18:19 ` Will Deacon
1 sibling, 1 reply; 18+ messages in thread
From: Vince Weaver @ 2018-05-18 16:29 UTC (permalink / raw)
To: Marc Zyngier
Cc: linux-arm-kernel, linux-kernel, Will Deacon, Mark Rutland,
Russell King, Vladimir Murzin, Vince Weaver, Peter Zijlstra,
Stefan Wahren, Eric Anholt, Florian Fainelli
On Fri, 18 May 2018, Marc Zyngier wrote:
> There is also the case of people natively running 32bit kernels on
> 64bit HW and trying to upstream unspeakable hacks, hoping that the
> stars will align and that they'll win the lottery (see [1]).
I've tested these patches on a Raspberry Pi 3B running a 32-bit upstream
(4.17-rc5-git) kernel and they work.
[ 0.472906] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
I only needed to add this to the devicetree
arm-pmu {
compatible = "arm,cortex-a53-pmu";
interrupt-parent = <&local_intc>;
interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
};
Tested-by: Vince Weaver <vincent.weaver@maine.edu>
Vince
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 0/5]
@ 2018-05-18 14:39 Marc Zyngier
2018-05-18 16:29 ` Vince Weaver
2018-05-21 18:19 ` Will Deacon
0 siblings, 2 replies; 18+ messages in thread
From: Marc Zyngier @ 2018-05-18 14:39 UTC (permalink / raw)
To: linux-arm-kernel, linux-kernel
Cc: Will Deacon, Mark Rutland, Russell King, Vladimir Murzin,
Vince Weaver, Peter Zijlstra, Stefan Wahren, Eric Anholt,
Florian Fainelli
PMUv3 has been introduced with ARMv8 and, while it has only been used
on 64bit systems so far, it would definitely be useful for 32bit
guests running under KVM/arm64, for example.
There is also the case of people natively running 32bit kernels on
64bit HW and trying to upstream unspeakable hacks, hoping that the
stars will align and that they'll win the lottery (see [1]).
So let's try again, and make the PMUv3 driver usable for everyone.
This is done in three steps:
(1) Move the driver from arch/arm64 to drivers/perf
(2) Add a handful of system register accessors so that we can reuse
the driver on 32bit
(3) Provide the same accessors on 32bit, enable compilation, and
make it the default selection for mach-virt.
Tested on a Seattle box with 32bit guests.
* From v1:
- Fixed encodings for some CP15 accessors
- Added a terse note saying that CPU_V7 also covers ARMv8
- Rebased on v4.12-rc5
* From v2:
- SPDX tags on new and moved files. Yeah!
- Annual rebase on 4.17-rc5
[1] https://patchwork.kernel.org/patch/10406793/
Marc Zyngier (5):
arm64: perf: Move PMUv3 driver to drivers/perf
arm64: perf: Abstract system register accesses away
ARM: Make CONFIG_CPU_V7 valid for 32bit ARMv8 implementations
ARM: perf: Allow the use of the PMUv3 driver on 32bit ARM
ARM: mach-virt: Select PMUv3 driver by default
arch/arm/Kconfig | 1 +
arch/arm/include/asm/arm_pmuv3.h | 125 +++++++++++++++++++++
arch/arm/mm/Kconfig | 2 +-
arch/arm64/include/asm/arm_pmuv3.h | 111 ++++++++++++++++++
arch/arm64/include/asm/perf_event.h | 55 ---------
arch/arm64/kernel/Makefile | 1 -
drivers/perf/Kconfig | 8 ++
drivers/perf/Makefile | 1 +
.../perf_event.c => drivers/perf/arm_pmuv3.c | 42 ++++---
include/kvm/arm_pmu.h | 2 +-
include/linux/perf/arm_pmuv3.h | 78 +++++++++++++
11 files changed, 346 insertions(+), 80 deletions(-)
create mode 100644 arch/arm/include/asm/arm_pmuv3.h
create mode 100644 arch/arm64/include/asm/arm_pmuv3.h
rename arch/arm64/kernel/perf_event.c => drivers/perf/arm_pmuv3.c (97%)
create mode 100644 include/linux/perf/arm_pmuv3.h
--
2.14.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 0/5]
@ 2015-07-12 5:10 Taeung Song
0 siblings, 0 replies; 18+ messages in thread
From: Taeung Song @ 2015-07-12 5:10 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, jolsa, namhyung, Ingo Molnar, Taeung Song
Changes in v3:
- builtin-config.c: Add a config variable ’kmem.default’ with a default value into ‘struct default_configset’
which has default config variables and values.
- cmd_config(): Add a option ‘—global’ and ‘—local’ to enable config file location to be selected
Changes in v2:
- Renaming variables a more suitable name
1. ’—list-all' instead of '--all'
2. ’name' instead of 'subkey'
3. 'section, name, value' instead of 'given_section,subkey,value'
- Documentation/perf-config.txt: Correct small infelicities or typing errors in a perf-config documention.
- Documentation/perf-config.txt: Remove a part description of report.children because it was duplicated
in Documentation/callchain-overhead-calculation.txt
- builtin-config.c: Use a variable ’int actions’ instead of struct params which has ‘bool list_action’,
‘bool get_action’ and etc. , to simplify a branching statement for perf-config options
- builtin-config.c: Declaration a global variable ‘static struct default_configsets’ has config variables
with default values instead of using a 'util/PERFCONFIG-DEFAULT' file and remove functions merge()
and perse_key() to get perf config default values.
- normalize_value(): Add a function to normalize a value and check data type of it.
- cmd_config(): Simplify parsing arguments as arguments is just divided by '=' and then in front of '.' is a section,
between '.' and '=' is a name, and behind '=' is a value.
- show_all_config(): Print config variables ‘struct default_configsets’ haven't
- cmd_config(): Make a command ’perf config' without a option work as with a option ’—list’ instead of ‘—list-all’.
Taeung Song (5):
perf tools: Add 'perf-config' command
perf config: Add functions which can get or set perf config variables.
perf config: Add a option 'list-all' to perf-config.
perf config: Add a option 'remove' to perf-config.
perf config: Add ‘—system’ and ‘—global’ options to be able to select
which config file to be used.
tools/perf/Build | 1 +
tools/perf/Documentation/perf-config.txt | 401 ++++++++++++++++
tools/perf/Documentation/perfconfig.example | 70 ++-
tools/perf/builtin-config.c | 708 ++++++++++++++++++++++++++++
tools/perf/builtin.h | 1 +
tools/perf/command-list.txt | 1 +
tools/perf/perf.c | 1 +
tools/perf/util/cache.h | 20 +
tools/perf/util/config.c | 84 +++-
9 files changed, 1251 insertions(+), 36 deletions(-)
create mode 100644 tools/perf/Documentation/perf-config.txt
create mode 100644 tools/perf/builtin-config.c
--
1.9.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 0/5]
@ 2014-12-08 9:46 Yunzhi Li
0 siblings, 0 replies; 18+ messages in thread
From: Yunzhi Li @ 2014-12-08 9:46 UTC (permalink / raw)
To: heiko, dianders, romain.perier
Cc: olof, huangtao, zyw, cf, linux-rockchip, Yunzhi Li, devicetree,
Paul Zimmerman, linux-usb, Kumar Gala, linux-kernel,
Grant Likely, Ian Campbell, Rob Herring, Pawel Moll,
Kishon Vijay Abraham I, Mark Rutland, Russell King,
linux-arm-kernel, Greg Kroah-Hartman
Patches to add support for Rockchip usb phys.Add a new Rockchip
usb phy driver and modify dwc2 controller driver to make dwc2
platform devices support a generic PHY framework driver. This
patch set has been tested on my rk3288-evb and power off the usb
phys would reduce about 60mW power budget in total during sustem
suspend.
Changes in v3:
- Use BIT macro instead of bit shift ops.
- Rename the config entry to PHY_ROCKCHIP_USB.
- Fix coding style: both branches of the if() which only one
branch of the conditional statement is a single statement should
have braces.
- No need to test dwc2->phy for NULL before calling generic phy
APIs.
- Add more context about the changes in the long description.
Yunzhi Li (5):
phy: add a driver for the Rockchip SoC internal USB2.0 PHY
Documentation: bindings: add doc for the Rockchip usb PHY
usb: dwc2: add generic PHY framework support for dwc2 usb
controler platform driver.
ARM: dts: add rk3288 usb PHY
ARM: dts: Enable usb PHY on rk3288-evb board
.../devicetree/bindings/phy/rockchip-usb-phy.txt | 22 +++
arch/arm/boot/dts/rk3288-evb.dtsi | 4 +
arch/arm/boot/dts/rk3288.dtsi | 13 ++
drivers/phy/Kconfig | 7 +
drivers/phy/Makefile | 1 +
drivers/phy/phy-rockchip-usb.c | 179 +++++++++++++++++++++
drivers/usb/dwc2/gadget.c | 33 ++--
drivers/usb/dwc2/platform.c | 36 ++++-
8 files changed, 272 insertions(+), 23 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt
create mode 100644 drivers/phy/phy-rockchip-usb.c
--
2.0.0
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2023-05-29 16:31 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-10 22:36 [PATCH v3 0/5] Alex Chiang
2009-11-10 22:36 ` [PATCH v3 1/5] mm: add numa node symlink for memory section in sysfs Alex Chiang
2009-11-12 17:26 ` Gary Hade
2009-11-10 22:36 ` [PATCH v3 2/5] mm: refactor register_cpu_under_node() Alex Chiang
2009-11-10 22:36 ` [PATCH v3 3/5] mm: refactor unregister_cpu_under_node() Alex Chiang
2009-11-10 22:36 ` [PATCH v3 4/5] mm: add numa node symlink for cpu devices in sysfs Alex Chiang
2009-11-10 22:37 ` [PATCH v3 5/5] Documentation: ABI: /sys/devices/system/cpu/cpu#/node Alex Chiang
2014-12-08 9:46 [PATCH v3 0/5] Yunzhi Li
2015-07-12 5:10 Taeung Song
2018-05-18 14:39 Marc Zyngier
2018-05-18 16:29 ` Vince Weaver
2018-05-18 16:41 ` Marc Zyngier
2018-05-18 17:39 ` Stefan Wahren
2018-05-21 18:19 ` Will Deacon
2019-02-08 16:11 Federico Vaga
2019-02-09 21:41 ` Andrew Lunn
2023-05-29 15:35 Bernhard Rosenkränzer
2023-05-29 16:30 ` Matthias Brugger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome