Skip to content
/ linux Public

Commit c1b3bda

Browse files
authored
Merge pull request #16 from gregkh/master
[pull] master from gregkh:master
2 parents 96c1b20 + aed968f commit c1b3bda

File tree

138 files changed

+1264
-601
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+1264
-601
lines changed

.mailmap

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,12 @@ Daniel Borkmann <daniel@iogearbox.net> <daniel.borkmann@tik.ee.ethz.ch>
210210
Daniel Borkmann <daniel@iogearbox.net> <dborkmann@redhat.com>
211211
Daniel Borkmann <daniel@iogearbox.net> <dborkman@redhat.com>
212212
Daniel Borkmann <daniel@iogearbox.net> <dxchgb@gmail.com>
213+
Daniel Lezcano <daniel.lezcano@kernel.org> <daniel.lezcano@linaro.org>
214+
Daniel Lezcano <daniel.lezcano@kernel.org> <daniel.lezcano@free.fr>
215+
Daniel Lezcano <daniel.lezcano@kernel.org> <daniel.lezcano@linexp.org>
216+
Daniel Lezcano <daniel.lezcano@kernel.org> <dlezcano@fr.ibm.com>
213217
Daniel Thompson <danielt@kernel.org> <daniel.thompson@linaro.org>
218+
Daniele Alessandrelli <daniele.alessandrelli@gmail.com> <daniele.alessandrelli@intel.com>
214219
Danilo Krummrich <dakr@kernel.org> <dakr@redhat.com>
215220
David Brownell <david-b@pacbell.net>
216221
David Collins <quic_collinsd@quicinc.com> <collinsd@codeaurora.org>
@@ -876,6 +881,7 @@ Vivien Didelot <vivien.didelot@gmail.com> <vivien.didelot@savoirfairelinux.com>
876881
Vlad Dogaru <ddvlad@gmail.com> <vlad.dogaru@intel.com>
877882
Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@parallels.com>
878883
Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@virtuozzo.com>
884+
Vlastimil Babka <vbabka@kernel.org> <vbabka@suse.cz>
879885
WangYuli <wangyuli@aosc.io> <wangyl5933@chinaunicom.cn>
880886
WangYuli <wangyuli@aosc.io> <wangyuli@deepin.org>
881887
Weiwen Hu <huweiwen@linux.alibaba.com> <sehuww@mail.scut.edu.cn>
@@ -890,7 +896,8 @@ Yanteng Si <si.yanteng@linux.dev> <siyanteng@loongson.cn>
890896
Ying Huang <huang.ying.caritas@gmail.com> <ying.huang@intel.com>
891897
Yixun Lan <dlan@kernel.org> <dlan@gentoo.org>
892898
Yixun Lan <dlan@kernel.org> <yixun.lan@amlogic.com>
893-
Yosry Ahmed <yosry.ahmed@linux.dev> <yosryahmed@google.com>
899+
Yosry Ahmed <yosry@kernel.org> <yosryahmed@google.com>
900+
Yosry Ahmed <yosry@kernel.org> <yosry.ahmed@linux.dev>
894901
Yu-Chun Lin <eleanor.lin@realtek.com> <eleanor15x@gmail.com>
895902
Yusuke Goda <goda.yusuke@renesas.com>
896903
Zack Rusin <zack.rusin@broadcom.com> <zackr@vmware.com>

MAINTAINERS

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6278,7 +6278,7 @@ S: Maintained
62786278
F: include/linux/clk.h
62796279

62806280
CLOCKSOURCE, CLOCKEVENT DRIVERS
6281-
M: Daniel Lezcano <daniel.lezcano@linaro.org>
6281+
M: Daniel Lezcano <daniel.lezcano@kernel.org>
62826282
M: Thomas Gleixner <tglx@kernel.org>
62836283
L: linux-kernel@vger.kernel.org
62846284
S: Supported
@@ -6667,7 +6667,7 @@ F: rust/kernel/cpu.rs
66676667

66686668
CPU IDLE TIME MANAGEMENT FRAMEWORK
66696669
M: "Rafael J. Wysocki" <rafael@kernel.org>
6670-
M: Daniel Lezcano <daniel.lezcano@linaro.org>
6670+
M: Daniel Lezcano <daniel.lezcano@kernel.org>
66716671
R: Christian Loehle <christian.loehle@arm.com>
66726672
L: linux-pm@vger.kernel.org
66736673
S: Maintained
@@ -6697,15 +6697,15 @@ F: arch/x86/kernel/msr.c
66976697

66986698
CPUIDLE DRIVER - ARM BIG LITTLE
66996699
M: Lorenzo Pieralisi <lpieralisi@kernel.org>
6700-
M: Daniel Lezcano <daniel.lezcano@linaro.org>
6700+
M: Daniel Lezcano <daniel.lezcano@kernel.org>
67016701
L: linux-pm@vger.kernel.org
67026702
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
67036703
S: Maintained
67046704
T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
67056705
F: drivers/cpuidle/cpuidle-big_little.c
67066706

67076707
CPUIDLE DRIVER - ARM EXYNOS
6708-
M: Daniel Lezcano <daniel.lezcano@linaro.org>
6708+
M: Daniel Lezcano <daniel.lezcano@kernel.org>
67096709
M: Kukjin Kim <kgene@kernel.org>
67106710
R: Krzysztof Kozlowski <krzk@kernel.org>
67116711
L: linux-pm@vger.kernel.org
@@ -16654,7 +16654,7 @@ M: Andrew Morton <akpm@linux-foundation.org>
1665416654
M: David Hildenbrand <david@kernel.org>
1665516655
R: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
1665616656
R: Liam R. Howlett <Liam.Howlett@oracle.com>
16657-
R: Vlastimil Babka <vbabka@suse.cz>
16657+
R: Vlastimil Babka <vbabka@kernel.org>
1665816658
R: Mike Rapoport <rppt@kernel.org>
1665916659
R: Suren Baghdasaryan <surenb@google.com>
1666016660
R: Michal Hocko <mhocko@suse.com>
@@ -16784,7 +16784,7 @@ M: Andrew Morton <akpm@linux-foundation.org>
1678416784
M: David Hildenbrand <david@kernel.org>
1678516785
R: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
1678616786
R: Liam R. Howlett <Liam.Howlett@oracle.com>
16787-
R: Vlastimil Babka <vbabka@suse.cz>
16787+
R: Vlastimil Babka <vbabka@kernel.org>
1678816788
R: Mike Rapoport <rppt@kernel.org>
1678916789
R: Suren Baghdasaryan <surenb@google.com>
1679016790
R: Michal Hocko <mhocko@suse.com>
@@ -16839,7 +16839,7 @@ F: mm/oom_kill.c
1683916839

1684016840
MEMORY MANAGEMENT - PAGE ALLOCATOR
1684116841
M: Andrew Morton <akpm@linux-foundation.org>
16842-
M: Vlastimil Babka <vbabka@suse.cz>
16842+
M: Vlastimil Babka <vbabka@kernel.org>
1684316843
R: Suren Baghdasaryan <surenb@google.com>
1684416844
R: Michal Hocko <mhocko@suse.com>
1684516845
R: Brendan Jackman <jackmanb@google.com>
@@ -16885,7 +16885,7 @@ M: David Hildenbrand <david@kernel.org>
1688516885
M: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
1688616886
R: Rik van Riel <riel@surriel.com>
1688716887
R: Liam R. Howlett <Liam.Howlett@oracle.com>
16888-
R: Vlastimil Babka <vbabka@suse.cz>
16888+
R: Vlastimil Babka <vbabka@kernel.org>
1688916889
R: Harry Yoo <harry.yoo@oracle.com>
1689016890
R: Jann Horn <jannh@google.com>
1689116891
L: linux-mm@kvack.org
@@ -16984,7 +16984,7 @@ MEMORY MAPPING
1698416984
M: Andrew Morton <akpm@linux-foundation.org>
1698516985
M: Liam R. Howlett <Liam.Howlett@oracle.com>
1698616986
M: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
16987-
R: Vlastimil Babka <vbabka@suse.cz>
16987+
R: Vlastimil Babka <vbabka@kernel.org>
1698816988
R: Jann Horn <jannh@google.com>
1698916989
R: Pedro Falcato <pfalcato@suse.de>
1699016990
L: linux-mm@kvack.org
@@ -17014,7 +17014,7 @@ M: Andrew Morton <akpm@linux-foundation.org>
1701417014
M: Suren Baghdasaryan <surenb@google.com>
1701517015
M: Liam R. Howlett <Liam.Howlett@oracle.com>
1701617016
M: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
17017-
R: Vlastimil Babka <vbabka@suse.cz>
17017+
R: Vlastimil Babka <vbabka@kernel.org>
1701817018
R: Shakeel Butt <shakeel.butt@linux.dev>
1701917019
L: linux-mm@kvack.org
1702017020
S: Maintained
@@ -17030,7 +17030,7 @@ M: Andrew Morton <akpm@linux-foundation.org>
1703017030
M: Liam R. Howlett <Liam.Howlett@oracle.com>
1703117031
M: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
1703217032
M: David Hildenbrand <david@kernel.org>
17033-
R: Vlastimil Babka <vbabka@suse.cz>
17033+
R: Vlastimil Babka <vbabka@kernel.org>
1703417034
R: Jann Horn <jannh@google.com>
1703517035
L: linux-mm@kvack.org
1703617036
S: Maintained
@@ -23172,7 +23172,7 @@ K: \b(?i:rust)\b
2317223172
RUST [ALLOC]
2317323173
M: Danilo Krummrich <dakr@kernel.org>
2317423174
R: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
23175-
R: Vlastimil Babka <vbabka@suse.cz>
23175+
R: Vlastimil Babka <vbabka@kernel.org>
2317623176
R: Liam R. Howlett <Liam.Howlett@oracle.com>
2317723177
R: Uladzislau Rezki <urezki@gmail.com>
2317823178
L: rust-for-linux@vger.kernel.org
@@ -24348,7 +24348,7 @@ F: Documentation/devicetree/bindings/nvmem/layouts/kontron,sl28-vpd.yaml
2434824348
F: drivers/nvmem/layouts/sl28vpd.c
2434924349

2435024350
SLAB ALLOCATOR
24351-
M: Vlastimil Babka <vbabka@suse.cz>
24351+
M: Vlastimil Babka <vbabka@kernel.org>
2435224352
M: Andrew Morton <akpm@linux-foundation.org>
2435324353
R: Christoph Lameter <cl@gentwo.org>
2435424354
R: David Rientjes <rientjes@google.com>
@@ -26215,7 +26215,7 @@ F: drivers/media/radio/radio-raremono.c
2621526215

2621626216
THERMAL
2621726217
M: Rafael J. Wysocki <rafael@kernel.org>
26218-
M: Daniel Lezcano <daniel.lezcano@linaro.org>
26218+
M: Daniel Lezcano <daniel.lezcano@kernel.org>
2621926219
R: Zhang Rui <rui.zhang@intel.com>
2622026220
R: Lukasz Luba <lukasz.luba@arm.com>
2622126221
L: linux-pm@vger.kernel.org
@@ -26245,7 +26245,7 @@ F: drivers/thermal/amlogic_thermal.c
2624526245

2624626246
THERMAL/CPU_COOLING
2624726247
M: Amit Daniel Kachhap <amit.kachhap@gmail.com>
26248-
M: Daniel Lezcano <daniel.lezcano@linaro.org>
26248+
M: Daniel Lezcano <daniel.lezcano@kernel.org>
2624926249
M: Viresh Kumar <viresh.kumar@linaro.org>
2625026250
R: Lukasz Luba <lukasz.luba@arm.com>
2625126251
L: linux-pm@vger.kernel.org
@@ -29184,7 +29184,7 @@ K: zstd
2918429184

2918529185
ZSWAP COMPRESSED SWAP CACHING
2918629186
M: Johannes Weiner <hannes@cmpxchg.org>
29187-
M: Yosry Ahmed <yosry.ahmed@linux.dev>
29187+
M: Yosry Ahmed <yosry@kernel.org>
2918829188
M: Nhat Pham <nphamcs@gmail.com>
2918929189
R: Chengming Zhou <chengming.zhou@linux.dev>
2919029190
L: linux-mm@kvack.org

arch/sparc/kernel/iommu.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,8 @@ static dma_addr_t dma_4u_map_phys(struct device *dev, phys_addr_t phys,
312312
if (direction != DMA_TO_DEVICE)
313313
iopte_protection |= IOPTE_WRITE;
314314

315+
phys &= IO_PAGE_MASK;
316+
315317
for (i = 0; i < npages; i++, base++, phys += IO_PAGE_SIZE)
316318
iopte_val(*base) = iopte_protection | phys;
317319

arch/sparc/kernel/pci_sun4v.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,8 @@ static dma_addr_t dma_4v_map_phys(struct device *dev, phys_addr_t phys,
410410

411411
iommu_batch_start(dev, prot, entry);
412412

413+
phys &= IO_PAGE_MASK;
414+
413415
for (i = 0; i < npages; i++, phys += IO_PAGE_SIZE) {
414416
long err = iommu_batch_add(phys, mask);
415417
if (unlikely(err < 0L))

drivers/accel/amdxdna/aie2_ctx.c

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
#include "amdxdna_pci_drv.h"
2424
#include "amdxdna_pm.h"
2525

26-
static bool force_cmdlist;
26+
static bool force_cmdlist = true;
2727
module_param(force_cmdlist, bool, 0600);
28-
MODULE_PARM_DESC(force_cmdlist, "Force use command list (Default false)");
28+
MODULE_PARM_DESC(force_cmdlist, "Force use command list (Default true)");
2929

3030
#define HWCTX_MAX_TIMEOUT 60000 /* milliseconds */
3131

@@ -53,6 +53,7 @@ static void aie2_hwctx_stop(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwct
5353
{
5454
drm_sched_stop(&hwctx->priv->sched, bad_job);
5555
aie2_destroy_context(xdna->dev_handle, hwctx);
56+
drm_sched_start(&hwctx->priv->sched, 0);
5657
}
5758

5859
static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hwctx)
@@ -80,7 +81,6 @@ static int aie2_hwctx_restart(struct amdxdna_dev *xdna, struct amdxdna_hwctx *hw
8081
}
8182

8283
out:
83-
drm_sched_start(&hwctx->priv->sched, 0);
8484
XDNA_DBG(xdna, "%s restarted, ret %d", hwctx->name, ret);
8585
return ret;
8686
}
@@ -297,19 +297,23 @@ aie2_sched_job_run(struct drm_sched_job *sched_job)
297297
struct dma_fence *fence;
298298
int ret;
299299

300-
if (!hwctx->priv->mbox_chann)
300+
ret = amdxdna_pm_resume_get(hwctx->client->xdna);
301+
if (ret)
302+
return NULL;
303+
304+
if (!hwctx->priv->mbox_chann) {
305+
amdxdna_pm_suspend_put(hwctx->client->xdna);
301306
return NULL;
307+
}
302308

303-
if (!mmget_not_zero(job->mm))
309+
if (!mmget_not_zero(job->mm)) {
310+
amdxdna_pm_suspend_put(hwctx->client->xdna);
304311
return ERR_PTR(-ESRCH);
312+
}
305313

306314
kref_get(&job->refcnt);
307315
fence = dma_fence_get(job->fence);
308316

309-
ret = amdxdna_pm_resume_get(hwctx->client->xdna);
310-
if (ret)
311-
goto out;
312-
313317
if (job->drv_cmd) {
314318
switch (job->drv_cmd->opcode) {
315319
case SYNC_DEBUG_BO:
@@ -497,7 +501,7 @@ static void aie2_release_resource(struct amdxdna_hwctx *hwctx)
497501

498502
if (AIE2_FEATURE_ON(xdna->dev_handle, AIE2_TEMPORAL_ONLY)) {
499503
ret = aie2_destroy_context(xdna->dev_handle, hwctx);
500-
if (ret)
504+
if (ret && ret != -ENODEV)
501505
XDNA_ERR(xdna, "Destroy temporal only context failed, ret %d", ret);
502506
} else {
503507
ret = xrs_release_resource(xdna->xrs_hdl, (uintptr_t)hwctx);
@@ -629,7 +633,7 @@ int aie2_hwctx_init(struct amdxdna_hwctx *hwctx)
629633
goto free_entity;
630634
}
631635

632-
ret = amdxdna_pm_resume_get(xdna);
636+
ret = amdxdna_pm_resume_get_locked(xdna);
633637
if (ret)
634638
goto free_col_list;
635639

@@ -760,7 +764,7 @@ static int aie2_hwctx_cu_config(struct amdxdna_hwctx *hwctx, void *buf, u32 size
760764
if (!hwctx->cus)
761765
return -ENOMEM;
762766

763-
ret = amdxdna_pm_resume_get(xdna);
767+
ret = amdxdna_pm_resume_get_locked(xdna);
764768
if (ret)
765769
goto free_cus;
766770

@@ -1070,6 +1074,8 @@ void aie2_hmm_invalidate(struct amdxdna_gem_obj *abo,
10701074

10711075
ret = dma_resv_wait_timeout(gobj->resv, DMA_RESV_USAGE_BOOKKEEP,
10721076
true, MAX_SCHEDULE_TIMEOUT);
1073-
if (!ret || ret == -ERESTARTSYS)
1077+
if (!ret)
10741078
XDNA_ERR(xdna, "Failed to wait for bo, ret %ld", ret);
1079+
else if (ret == -ERESTARTSYS)
1080+
XDNA_DBG(xdna, "Wait for bo interrupted by signal");
10751081
}

drivers/accel/amdxdna/aie2_message.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,8 +216,10 @@ static int aie2_destroy_context_req(struct amdxdna_dev_hdl *ndev, u32 id)
216216

217217
req.context_id = id;
218218
ret = aie2_send_mgmt_msg_wait(ndev, &msg);
219-
if (ret)
219+
if (ret && ret != -ENODEV)
220220
XDNA_WARN(xdna, "Destroy context failed, ret %d", ret);
221+
else if (ret == -ENODEV)
222+
XDNA_DBG(xdna, "Destroy context: device already stopped");
221223

222224
return ret;
223225
}
@@ -318,6 +320,9 @@ int aie2_destroy_context(struct amdxdna_dev_hdl *ndev, struct amdxdna_hwctx *hwc
318320
struct amdxdna_dev *xdna = ndev->xdna;
319321
int ret;
320322

323+
if (!hwctx->priv->mbox_chann)
324+
return 0;
325+
321326
xdna_mailbox_stop_channel(hwctx->priv->mbox_chann);
322327
ret = aie2_destroy_context_req(ndev, hwctx->fw_ctx_id);
323328
xdna_mailbox_destroy_channel(hwctx->priv->mbox_chann);
@@ -694,11 +699,11 @@ aie2_cmdlist_fill_npu_cf(struct amdxdna_gem_obj *cmd_bo, void *slot, size_t *siz
694699
u32 cmd_len;
695700
void *cmd;
696701

697-
memset(npu_slot, 0, sizeof(*npu_slot));
698702
cmd = amdxdna_cmd_get_payload(cmd_bo, &cmd_len);
699703
if (*size < sizeof(*npu_slot) + cmd_len)
700704
return -EINVAL;
701705

706+
memset(npu_slot, 0, sizeof(*npu_slot));
702707
npu_slot->cu_idx = amdxdna_cmd_get_cu_idx(cmd_bo);
703708
if (npu_slot->cu_idx == INVALID_CU_IDX)
704709
return -EINVAL;
@@ -719,7 +724,6 @@ aie2_cmdlist_fill_npu_dpu(struct amdxdna_gem_obj *cmd_bo, void *slot, size_t *si
719724
u32 cmd_len;
720725
u32 arg_sz;
721726

722-
memset(npu_slot, 0, sizeof(*npu_slot));
723727
sn = amdxdna_cmd_get_payload(cmd_bo, &cmd_len);
724728
arg_sz = cmd_len - sizeof(*sn);
725729
if (cmd_len < sizeof(*sn) || arg_sz > MAX_NPU_ARGS_SIZE)
@@ -728,6 +732,7 @@ aie2_cmdlist_fill_npu_dpu(struct amdxdna_gem_obj *cmd_bo, void *slot, size_t *si
728732
if (*size < sizeof(*npu_slot) + arg_sz)
729733
return -EINVAL;
730734

735+
memset(npu_slot, 0, sizeof(*npu_slot));
731736
npu_slot->cu_idx = amdxdna_cmd_get_cu_idx(cmd_bo);
732737
if (npu_slot->cu_idx == INVALID_CU_IDX)
733738
return -EINVAL;
@@ -751,7 +756,6 @@ aie2_cmdlist_fill_npu_preempt(struct amdxdna_gem_obj *cmd_bo, void *slot, size_t
751756
u32 cmd_len;
752757
u32 arg_sz;
753758

754-
memset(npu_slot, 0, sizeof(*npu_slot));
755759
pd = amdxdna_cmd_get_payload(cmd_bo, &cmd_len);
756760
arg_sz = cmd_len - sizeof(*pd);
757761
if (cmd_len < sizeof(*pd) || arg_sz > MAX_NPU_ARGS_SIZE)
@@ -760,6 +764,7 @@ aie2_cmdlist_fill_npu_preempt(struct amdxdna_gem_obj *cmd_bo, void *slot, size_t
760764
if (*size < sizeof(*npu_slot) + arg_sz)
761765
return -EINVAL;
762766

767+
memset(npu_slot, 0, sizeof(*npu_slot));
763768
npu_slot->cu_idx = amdxdna_cmd_get_cu_idx(cmd_bo);
764769
if (npu_slot->cu_idx == INVALID_CU_IDX)
765770
return -EINVAL;
@@ -787,7 +792,6 @@ aie2_cmdlist_fill_npu_elf(struct amdxdna_gem_obj *cmd_bo, void *slot, size_t *si
787792
u32 cmd_len;
788793
u32 arg_sz;
789794

790-
memset(npu_slot, 0, sizeof(*npu_slot));
791795
pd = amdxdna_cmd_get_payload(cmd_bo, &cmd_len);
792796
arg_sz = cmd_len - sizeof(*pd);
793797
if (cmd_len < sizeof(*pd) || arg_sz > MAX_NPU_ARGS_SIZE)
@@ -796,6 +800,7 @@ aie2_cmdlist_fill_npu_elf(struct amdxdna_gem_obj *cmd_bo, void *slot, size_t *si
796800
if (*size < sizeof(*npu_slot) + arg_sz)
797801
return -EINVAL;
798802

803+
memset(npu_slot, 0, sizeof(*npu_slot));
799804
npu_slot->type = EXEC_NPU_TYPE_ELF;
800805
npu_slot->inst_buf_addr = pd->inst_buf;
801806
npu_slot->save_buf_addr = pd->save_buf;

0 commit comments

Comments
 (0)