Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from torvalds:master #1943

Merged
merged 22 commits into from
Feb 16, 2025
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f0ada00
dt-bindings: clock: qcom: Add GPU clocks for QCS8300
Jan 9, 2025
0e193cc
dt-bindings: clock: qcom: Add CAMCC clocks for QCS8300
Jan 9, 2025
3e86e57
dt-bindings: clock: qcom: Add QCS8300 video clock controller
Jan 9, 2025
e664932
of: address: Add kunit test for __of_address_resource_bounds()
t-8ch Jan 29, 2025
d275a5e
dt-bindings: display: ti: Fix compatible for am62a7 dss
Feb 3, 2025
2a03d2d
dt-bindings: nvmem: qcom,qfprom: Add SAR2130P compatible
lumag Jan 9, 2025
038e33f
dt-bindings: display: Add powertip,{st7272|hx8238a} as DT Schema desc…
Jan 9, 2025
5298b7c
um: add back support for FXSAVE registers
benzea Dec 4, 2024
8891b17
um: avoid copying FP state from init_task
benzea Dec 17, 2024
3c2fc74
um: properly align signal stack on x86_64
benzea Jan 7, 2025
f82a9e7
um: fix execve stub execution on old host OSs
benzea Jan 13, 2025
5b166b7
um: virt-pci: don't use kmalloc()
jmberg-intel Jan 10, 2025
daa1a05
um: virtio_uml: use raw spinlock
jmberg-intel Jan 10, 2025
9617863
um: convert irq_lock to raw spinlock
jmberg-intel Jan 10, 2025
9ba0e17
ring-buffer: Unlock resize on mmap error
rostedt Feb 13, 2025
60b8f71
tracing: Have the error of __tracing_resize_ring_buffer() passed to user
rostedt Feb 13, 2025
f5b95f1
ring-buffer: Validate the persistent meta data subbuf array
rostedt Feb 14, 2025
129fe71
tracing: Do not allow mmap() of persistent ring buffer
rostedt Feb 14, 2025
9793783
ring-buffer: Update pages_touched to reflect persistent buffer content
rostedt Feb 14, 2025
5784d8c
Merge tag 'trace-ring-buffer-v6.14-rc2' of git://git.kernel.org/pub/s…
torvalds Feb 16, 2025
ad73b9a
Merge tag 'uml-for-linus-6.14-rc3' of git://git.kernel.org/pub/scm/li…
torvalds Feb 16, 2025
ad1b832
Merge tag 'devicetree-fixes-for-6.14-1' of git://git.kernel.org/pub/s…
torvalds Feb 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Documentation/devicetree/bindings/clock/qcom,gpucc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ title: Qualcomm Graphics Clock & Reset Controller

maintainers:
- Taniya Das <[email protected]>
- Imran Shaik <[email protected]>

description: |
Qualcomm graphics clock control module provides the clocks, resets and power
Expand All @@ -23,10 +24,12 @@ description: |
include/dt-bindings/clock/qcom,gpucc-sm8150.h
include/dt-bindings/clock/qcom,gpucc-sm8250.h
include/dt-bindings/clock/qcom,gpucc-sm8350.h
include/dt-bindings/clock/qcom,qcs8300-gpucc.h

properties:
compatible:
enum:
- qcom,qcs8300-gpucc
- qcom,sdm845-gpucc
- qcom,sa8775p-gpucc
- qcom,sc7180-gpucc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,20 @@ title: Qualcomm Camera Clock & Reset Controller on SA8775P

maintainers:
- Taniya Das <[email protected]>
- Imran Shaik <[email protected]>

description: |
Qualcomm camera clock control module provides the clocks, resets and power
domains on SA8775p.
See also: include/dt-bindings/clock/qcom,sa8775p-camcc.h
See also:
include/dt-bindings/clock/qcom,qcs8300-camcc.h
include/dt-bindings/clock/qcom,sa8775p-camcc.h
properties:
compatible:
enum:
- qcom,qcs8300-camcc
- qcom,sa8775p-camcc

clocks:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ description: |
properties:
compatible:
enum:
- qcom,qcs8300-videocc
- qcom,sa8775p-videocc

clocks:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/powertip,hx8238a.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Powertip Electronic Technology Co. 320 x 240 LCD panel

maintainers:
- Lukasz Majewski <[email protected]>

allOf:
- $ref: panel-dpi.yaml#

properties:
compatible:
items:
- const: powertip,hx8238a
- {} # panel-dpi, but not listed here to avoid false select

height-mm: true
panel-timing: true
port: true
power-supply: true
width-mm: true

additionalProperties: false

...
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/powertip,st7272.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Powertip Electronic Technology Co. 320 x 240 LCD panel

maintainers:
- Lukasz Majewski <[email protected]>

allOf:
- $ref: panel-dpi.yaml#

properties:
compatible:
items:
- const: powertip,st7272
- {} # panel-dpi, but not listed here to avoid false select

height-mm: true
panel-timing: true
port: true
power-supply: true
width-mm: true

additionalProperties: false

...
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ properties:
compatible:
enum:
- ti,am625-dss
- ti,am62a7,dss
- ti,am62a7-dss
- ti,am65x-dss

reg:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/nvmem/qcom,qfprom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ properties:
- qcom,qcs404-qfprom
- qcom,qcs615-qfprom
- qcom,qcs8300-qfprom
- qcom,sar2130p-qfprom
- qcom,sc7180-qfprom
- qcom,sc7280-qfprom
- qcom,sc8280xp-qfprom
Expand Down
5 changes: 4 additions & 1 deletion drivers/of/address.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
#include <linux/string.h>
#include <linux/dma-direct.h> /* for bus_dma_region */

#include <kunit/visibility.h>

/* Uncomment me to enable of_dump_addr() debugging output */
// #define DEBUG

Expand Down Expand Up @@ -183,7 +185,7 @@ static u64 of_bus_pci_map(__be32 *addr, const __be32 *range, int na, int ns,

#endif /* CONFIG_PCI */

static int __of_address_resource_bounds(struct resource *r, u64 start, u64 size)
VISIBLE_IF_KUNIT int __of_address_resource_bounds(struct resource *r, u64 start, u64 size)
{
if (overflows_type(start, r->start))
return -EOVERFLOW;
Expand All @@ -197,6 +199,7 @@ static int __of_address_resource_bounds(struct resource *r, u64 start, u64 size)

return 0;
}
EXPORT_SYMBOL_IF_KUNIT(__of_address_resource_bounds);

/*
* of_pci_range_to_resource - Create a resource from an of_pci_range
Expand Down
4 changes: 4 additions & 0 deletions drivers/of/of_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,4 +208,8 @@ static void __maybe_unused of_dump_addr(const char *s, const __be32 *addr, int n
static void __maybe_unused of_dump_addr(const char *s, const __be32 *addr, int na) { }
#endif

#if IS_ENABLED(CONFIG_KUNIT)
int __of_address_resource_bounds(struct resource *r, u64 start, u64 size);
#endif

#endif /* _LINUX_OF_PRIVATE_H */
119 changes: 118 additions & 1 deletion drivers/of/of_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/*
* KUnit tests for OF APIs
*/
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/of.h>

Expand Down Expand Up @@ -54,8 +55,124 @@ static struct kunit_suite of_dtb_suite = {
.init = of_dtb_test_init,
};

struct of_address_resource_bounds_case {
u64 start;
u64 size;
int ret;

u64 res_start;
u64 res_end;
};

static void of_address_resource_bounds_case_desc(const struct of_address_resource_bounds_case *p,
char *name)
{
snprintf(name, KUNIT_PARAM_DESC_SIZE, "start=0x%016llx,size=0x%016llx", p->start, p->size);
}

static const struct of_address_resource_bounds_case of_address_resource_bounds_cases[] = {
{
.start = 0,
.size = 0,
.ret = 0,
.res_start = 0,
.res_end = -1,
},
{
.start = 0,
.size = 0x1000,
.ret = 0,
.res_start = 0,
.res_end = 0xfff,
},
{
.start = 0x1000,
.size = 0,
.ret = 0,
.res_start = 0x1000,
.res_end = 0xfff,
},
{
.start = 0x1000,
.size = 0x1000,
.ret = 0,
.res_start = 0x1000,
.res_end = 0x1fff,
},
{
.start = 1,
.size = RESOURCE_SIZE_MAX,
.ret = 0,
.res_start = 1,
.res_end = RESOURCE_SIZE_MAX,
},
{
.start = RESOURCE_SIZE_MAX,
.size = 1,
.ret = 0,
.res_start = RESOURCE_SIZE_MAX,
.res_end = RESOURCE_SIZE_MAX,
},
{
.start = 2,
.size = RESOURCE_SIZE_MAX,
.ret = -EOVERFLOW,
},
{
.start = RESOURCE_SIZE_MAX,
.size = 2,
.ret = -EOVERFLOW,
},
{
.start = ULL(0x100000000),
.size = 1,
.ret = sizeof(resource_size_t) > sizeof(u32) ? 0 : -EOVERFLOW,
.res_start = ULL(0x100000000),
.res_end = ULL(0x100000000),
},
{
.start = 0x1000,
.size = 0xffffffff,
.ret = sizeof(resource_size_t) > sizeof(u32) ? 0 : -EOVERFLOW,
.res_start = 0x1000,
.res_end = ULL(0x100000ffe),
},
};

KUNIT_ARRAY_PARAM(of_address_resource_bounds,
of_address_resource_bounds_cases, of_address_resource_bounds_case_desc);

static void of_address_resource_bounds(struct kunit *test)
{
const struct of_address_resource_bounds_case *param = test->param_value;
struct resource r; /* Intentionally uninitialized */
int ret;

if (!IS_ENABLED(CONFIG_OF_ADDRESS))
kunit_skip(test, "CONFIG_OF_ADDRESS not enabled\n");

ret = __of_address_resource_bounds(&r, param->start, param->size);
KUNIT_EXPECT_EQ(test, param->ret, ret);
if (ret == 0) {
KUNIT_EXPECT_EQ(test, (resource_size_t)param->res_start, r.start);
KUNIT_EXPECT_EQ(test, (resource_size_t)param->res_end, r.end);
KUNIT_EXPECT_EQ(test, param->size, resource_size(&r));
}
}

static struct kunit_case of_address_test_cases[] = {
KUNIT_CASE_PARAM(of_address_resource_bounds, of_address_resource_bounds_gen_params),
{}
};

static struct kunit_suite of_address_suite = {
.name = "of_address",
.test_cases = of_address_test_cases,
};

kunit_test_suites(
&of_dtb_suite,
&of_dtb_suite, &of_address_suite,
);
MODULE_DESCRIPTION("KUnit tests for OF APIs");
MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING");
MODULE_LICENSE("GPL");
16 changes: 16 additions & 0 deletions include/dt-bindings/clock/qcom,qcs8300-camcc.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
*/

#ifndef _DT_BINDINGS_CLK_QCOM_QCS8300_CAM_CC_H
#define _DT_BINDINGS_CLK_QCOM_QCS8300_CAM_CC_H

#include "qcom,sa8775p-camcc.h"

/* QCS8300 introduces below new clocks compared to SA8775P */

/* CAM_CC clocks */
#define CAM_CC_TITAN_TOP_ACCU_SHIFT_CLK 86

#endif
17 changes: 17 additions & 0 deletions include/dt-bindings/clock/qcom,qcs8300-gpucc.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
*/

#ifndef _DT_BINDINGS_CLK_QCOM_GPUCC_QCS8300_H
#define _DT_BINDINGS_CLK_QCOM_GPUCC_QCS8300_H

#include "qcom,sa8775p-gpucc.h"

/* QCS8300 introduces below new clocks compared to SA8775P */

/* GPU_CC clocks */
#define GPU_CC_CX_ACCU_SHIFT_CLK 23
#define GPU_CC_GX_ACCU_SHIFT_CLK 24

#endif