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

Wrong I2S alt settings in DT #1046

Closed
HiassofT opened this issue Jul 4, 2015 · 3 comments
Closed

Wrong I2S alt settings in DT #1046

HiassofT opened this issue Jul 4, 2015 · 3 comments

Comments

@HiassofT
Copy link
Contributor

HiassofT commented Jul 4, 2015

The I2S alt settings changes in commits 93e9bd0 / 0bc6395 don't seem to be correct for the B+ and 2B (and I guess also for the CM). On GPIOs 18-21 they should be kept at Alt0. That's also what the Alt table in the datasheet says.

I've only tested with the (not in tree) Cirrus driver on a RPi2, using Alt0 works fine, Alt2 breaks audio.

ping @pelwell @popcornmix

pelwell pushed a commit that referenced this issue Jul 4, 2015
pelwell pushed a commit that referenced this issue Jul 4, 2015
@pelwell
Copy link
Contributor

pelwell commented Jul 4, 2015

Yes, you are correct. That certainly explains the lack of complaints about the "errors" it was "fixing".

Thank you for reporting this so promptly.

"Fixed".

@HiassofT
Copy link
Contributor Author

HiassofT commented Jul 5, 2015

Thanks for the quick fix!

Kernel 4.1 is working fine both on RPi B (non-plus) and RPi2.

@HiassofT HiassofT closed this as completed Jul 5, 2015
popcornmix added a commit to raspberrypi/firmware that referenced this issue Jul 8, 2015
kernel: BCM270X_DT: I2S needs function Alt2
See: raspberrypi/linux#1046

kernel: vchiq_arm: Two cacheing fixes
See: #443

kernel: BCM270X_DT: Overlay for the Fen Logic VGA666 board

firmware: arm_loader: Increase stack and ensure icache flush is done before threads in execute multi

firmware: arm_loader: Switch to vpu queues and more profile logging

firmware: clocks: Allow arm to be overclocked to 1.6GHz

firmware: gpioman: Don't force all pin pulls to their defaults

firmware: arm_loader: Fix length on get palette mailbox call
See: raspberrypi/linux#1026

firmware: vchiq: Better error handling
firmware: vchiq: Make fragment size vary with cache line size
See: #443
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this issue Jul 8, 2015
kernel: BCM270X_DT: I2S needs function Alt2
See: raspberrypi/linux#1046

kernel: vchiq_arm: Two cacheing fixes
See: raspberrypi/firmware#443

kernel: BCM270X_DT: Overlay for the Fen Logic VGA666 board

firmware: arm_loader: Increase stack and ensure icache flush is done before threads in execute multi

firmware: arm_loader: Switch to vpu queues and more profile logging

firmware: clocks: Allow arm to be overclocked to 1.6GHz

firmware: gpioman: Don't force all pin pulls to their defaults

firmware: arm_loader: Fix length on get palette mailbox call
See: raspberrypi/linux#1026

firmware: vchiq: Better error handling
firmware: vchiq: Make fragment size vary with cache line size
See: raspberrypi/firmware#443
@popcornmix
Copy link
Collaborator

rpi-update firmware now has this fix

pelwell pushed a commit that referenced this issue Jul 13, 2015
pelwell pushed a commit that referenced this issue Jul 14, 2015
pelwell pushed a commit that referenced this issue Jul 20, 2015
pelwell pushed a commit that referenced this issue Jul 24, 2015
pelwell pushed a commit that referenced this issue Jul 27, 2015
pelwell pushed a commit that referenced this issue Aug 4, 2015
pelwell pushed a commit that referenced this issue Aug 5, 2015
pelwell pushed a commit that referenced this issue Aug 17, 2015
pelwell pushed a commit that referenced this issue Aug 20, 2015
pelwell pushed a commit that referenced this issue Sep 2, 2015
pelwell pushed a commit that referenced this issue Sep 14, 2015
pelwell pushed a commit that referenced this issue Sep 14, 2015
pelwell pushed a commit that referenced this issue Sep 22, 2015
pelwell pushed a commit that referenced this issue Sep 22, 2015
pelwell pushed a commit that referenced this issue Oct 1, 2015
pelwell pushed a commit that referenced this issue Oct 3, 2015
pelwell pushed a commit that referenced this issue Oct 3, 2015
pelwell pushed a commit that referenced this issue Oct 6, 2015
pelwell pushed a commit that referenced this issue Oct 7, 2015
pelwell pushed a commit that referenced this issue Oct 8, 2015
pelwell pushed a commit that referenced this issue Oct 8, 2015
pelwell pushed a commit that referenced this issue Oct 9, 2015
pelwell pushed a commit that referenced this issue Oct 23, 2015
pelwell pushed a commit that referenced this issue Oct 25, 2015
pelwell pushed a commit that referenced this issue Oct 27, 2015
pelwell pushed a commit that referenced this issue Oct 28, 2015
pelwell pushed a commit that referenced this issue Nov 13, 2015
pelwell pushed a commit that referenced this issue Dec 10, 2015
pelwell pushed a commit that referenced this issue Dec 15, 2015
jaegeuk pushed a commit to jaegeuk/ubuntu-wily that referenced this issue Jul 26, 2016
popcornmix pushed a commit that referenced this issue Jan 30, 2017
Analogix_dp_bind() can be called from component framework, which doesn't
guarantee proper runtime PM state of the device during bind operation,
so ensure that device is runtime active before doing any register access.
This ensures that the power domain, to which DP module belongs, is turned
on. While at it, also fix the unbalanced call to phy_power_on() in
analogix_dp_bind() function.

This patch solves the following kernel oops on Samsung Exynos5250 Snow
board:

Unhandled fault: imprecise external abort (0x406) at 0x00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: : 406 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 75 Comm: kworker/0:2 Not tainted 4.9.0 #1046
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
Workqueue: events deferred_probe_work_func
task: ee272300 task.stack: ee312000
PC is at analogix_dp_enable_sw_function+0x18/0x2c
LR is at analogix_dp_init_dp+0x2c/0x50
...
[<c03fcb38>] (analogix_dp_enable_sw_function) from [<c03fa9c4>] (analogix_dp_init_dp+0x2c/0x50)
[<c03fa9c4>] (analogix_dp_init_dp) from [<c03fab6c>] (analogix_dp_bind+0x184/0x42c)
[<c03fab6c>] (analogix_dp_bind) from [<c03fdb84>] (component_bind_all+0xf0/0x218)
[<c03fdb84>] (component_bind_all) from [<c03ed64c>] (exynos_drm_load+0x134/0x200)
[<c03ed64c>] (exynos_drm_load) from [<c03d5058>] (drm_dev_register+0xa0/0xd0)
[<c03d5058>] (drm_dev_register) from [<c03d66b8>] (drm_platform_init+0x58/0xb0)
[<c03d66b8>] (drm_platform_init) from [<c03fe0c4>] (try_to_bring_up_master+0x14c/0x188)
[<c03fe0c4>] (try_to_bring_up_master) from [<c03fe188>] (component_add+0x88/0x138)
[<c03fe188>] (component_add) from [<c0403a38>] (platform_drv_probe+0x50/0xb0)
[<c0403a38>] (platform_drv_probe) from [<c0402470>] (driver_probe_device+0x1f0/0x2a8)
[<c0402470>] (driver_probe_device) from [<c0400a54>] (bus_for_each_drv+0x44/0x8c)
[<c0400a54>] (bus_for_each_drv) from [<c04021f8>] (__device_attach+0x9c/0x100)
[<c04021f8>] (__device_attach) from [<c04018e8>] (bus_probe_device+0x84/0x8c)
[<c04018e8>] (bus_probe_device) from [<c0401d1c>] (deferred_probe_work_func+0x60/0x8c)
[<c0401d1c>] (deferred_probe_work_func) from [<c012fc14>] (process_one_work+0x120/0x318)
[<c012fc14>] (process_one_work) from [<c012fe34>] (process_scheduled_works+0x28/0x38)
[<c012fe34>] (process_scheduled_works) from [<c0130048>] (worker_thread+0x204/0x4ac)
[<c0130048>] (worker_thread) from [<c01352c4>] (kthread+0xd8/0xf4)
[<c01352c4>] (kthread) from [<c0107978>] (ret_from_fork+0x14/0x3c)
Code: e59035f0 e5935018 f57ff04f e3c55001 (f57ff04e)
---[ end trace 3d1d0d87796de344 ]---

Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1483091866-1088-1-git-send-email-m.szyprowski@samsung.com
neuschaefer pushed a commit to neuschaefer/raspi-binary-firmware that referenced this issue Feb 27, 2017
kernel: BCM270X_DT: I2S needs function Alt2
See: raspberrypi/linux#1046

kernel: vchiq_arm: Two cacheing fixes
See: raspberrypi#443

kernel: BCM270X_DT: Overlay for the Fen Logic VGA666 board

firmware: arm_loader: Increase stack and ensure icache flush is done before threads in execute multi

firmware: arm_loader: Switch to vpu queues and more profile logging

firmware: clocks: Allow arm to be overclocked to 1.6GHz

firmware: gpioman: Don't force all pin pulls to their defaults

firmware: arm_loader: Fix length on get palette mailbox call
See: raspberrypi/linux#1026

firmware: vchiq: Better error handling
firmware: vchiq: Make fragment size vary with cache line size
See: raspberrypi#443
popcornmix pushed a commit that referenced this issue Mar 30, 2017
commit f0a8b49 upstream.

Analogix_dp_bind() can be called from component framework, which doesn't
guarantee proper runtime PM state of the device during bind operation,
so ensure that device is runtime active before doing any register access.
This ensures that the power domain, to which DP module belongs, is turned
on. While at it, also fix the unbalanced call to phy_power_on() in
analogix_dp_bind() function.

This patch solves the following kernel oops on Samsung Exynos5250 Snow
board:

Unhandled fault: imprecise external abort (0x406) at 0x00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: : 406 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 75 Comm: kworker/0:2 Not tainted 4.9.0 #1046
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
Workqueue: events deferred_probe_work_func
task: ee272300 task.stack: ee312000
PC is at analogix_dp_enable_sw_function+0x18/0x2c
LR is at analogix_dp_init_dp+0x2c/0x50
...
[<c03fcb38>] (analogix_dp_enable_sw_function) from [<c03fa9c4>] (analogix_dp_init_dp+0x2c/0x50)
[<c03fa9c4>] (analogix_dp_init_dp) from [<c03fab6c>] (analogix_dp_bind+0x184/0x42c)
[<c03fab6c>] (analogix_dp_bind) from [<c03fdb84>] (component_bind_all+0xf0/0x218)
[<c03fdb84>] (component_bind_all) from [<c03ed64c>] (exynos_drm_load+0x134/0x200)
[<c03ed64c>] (exynos_drm_load) from [<c03d5058>] (drm_dev_register+0xa0/0xd0)
[<c03d5058>] (drm_dev_register) from [<c03d66b8>] (drm_platform_init+0x58/0xb0)
[<c03d66b8>] (drm_platform_init) from [<c03fe0c4>] (try_to_bring_up_master+0x14c/0x188)
[<c03fe0c4>] (try_to_bring_up_master) from [<c03fe188>] (component_add+0x88/0x138)
[<c03fe188>] (component_add) from [<c0403a38>] (platform_drv_probe+0x50/0xb0)
[<c0403a38>] (platform_drv_probe) from [<c0402470>] (driver_probe_device+0x1f0/0x2a8)
[<c0402470>] (driver_probe_device) from [<c0400a54>] (bus_for_each_drv+0x44/0x8c)
[<c0400a54>] (bus_for_each_drv) from [<c04021f8>] (__device_attach+0x9c/0x100)
[<c04021f8>] (__device_attach) from [<c04018e8>] (bus_probe_device+0x84/0x8c)
[<c04018e8>] (bus_probe_device) from [<c0401d1c>] (deferred_probe_work_func+0x60/0x8c)
[<c0401d1c>] (deferred_probe_work_func) from [<c012fc14>] (process_one_work+0x120/0x318)
[<c012fc14>] (process_one_work) from [<c012fe34>] (process_scheduled_works+0x28/0x38)
[<c012fe34>] (process_scheduled_works) from [<c0130048>] (worker_thread+0x204/0x4ac)
[<c0130048>] (worker_thread) from [<c01352c4>] (kthread+0xd8/0xf4)
[<c01352c4>] (kthread) from [<c0107978>] (ret_from_fork+0x14/0x3c)
Code: e59035f0 e5935018 f57ff04f e3c55001 (f57ff04e)
---[ end trace 3d1d0d87796de344 ]---

Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1483091866-1088-1-git-send-email-m.szyprowski@samsung.com
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
popcornmix pushed a commit that referenced this issue Mar 5, 2024
Although execlist submission is not supported it should be kept in a
basic working state as it can be used for very early hardware bring up.
Fix the below splat.

WARNING: CPU: 3 PID: 11 at drivers/gpu/drm/xe/xe_execlist.c:217 execlist_run_job+0x1c2/0x220 [xe]
Modules linked in: xe drm_kunit_helpers drm_gpuvm drm_ttm_helper ttm drm_exec drm_suballoc_helper drm_buddy gpu_sched mei_pxp mei_hdcp wmi_bmof x86_pkg_temp_thermal coretemp crct10dif_pclmul crc32_pclmul snd_hda_intel ghash_clmulni_intel snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core video snd_pcm mei_me mei wmi fuse e1000e i2c_i801 ptp i2c_smbus pps_core intel_lpss_pci
CPU: 3 PID: 11 Comm: kworker/u16:0 Tainted: G     U             6.8.0-rc3-guc+ #1046
Hardware name: Intel Corporation Tiger Lake Client Platform/TigerLake U DDR4 SODIMM RVP, BIOS TGLSFWI1.R00.3243.A01.2006102133 06/10/2020
Workqueue: rcs0 drm_sched_run_job_work [gpu_sched]
RIP: 0010:execlist_run_job+0x1c2/0x220 [xe]
Code: 8b f8 03 00 00 4c 89 39 e9 e2 fe ff ff 49 8d 7d 20 be ff ff ff ff e8 ed fd a6 e1 85 c0 0f 85 e1 fe ff ff 0f 0b e9 da fe ff ff <0f> 0b 0f 0b 41 83 fc 03 0f 86 8a fe ff ff 0f 0b e9 83 fe ff ff be
RSP: 0018:ffffc9000013bdb8 EFLAGS: 00010246
RAX: ffff888105021a00 RBX: ffff888105078400 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffc9000013bd14 RDI: ffffc90001609090
RBP: ffff88811e3f0040 R08: 0000000000000088 R09: 00000000ffffff81
R10: 0000000000000001 R11: ffff88810c10c000 R12: 00000000fffffffe
R13: ffff888109b72c28 R14: ffff8881050784a0 R15: ffff888105078408
FS:  0000000000000000(0000) GS:ffff88849f980000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000563459d130f8 CR3: 000000000563a001 CR4: 0000000000f70ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <TASK>
 ? __warn+0x7f/0x170
 ? execlist_run_job+0x1c2/0x220 [xe]
 ? report_bug+0x1c7/0x1d0
 ? handle_bug+0x3c/0x70
 ? exc_invalid_op+0x18/0x70
 ? asm_exc_invalid_op+0x1a/0x20
 ? execlist_run_job+0x1c2/0x220 [xe]
 ? execlist_run_job+0x2c/0x220 [xe]
 drm_sched_run_job_work+0x246/0x3f0 [gpu_sched]
 ? process_one_work+0x18d/0x4e0
 process_one_work+0x1f7/0x4e0
 worker_thread+0x1da/0x3e0
 ? __pfx_worker_thread+0x10/0x10
 kthread+0xfe/0x130
 ? __pfx_kthread+0x10/0x10
 ret_from_fork+0x2c/0x50
 ? __pfx_kthread+0x10/0x10
 ret_from_fork_asm+0x1b/0x30
 </TASK>

Fixes: 9b9529c ("drm/xe: Rename engine to exec_queue")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240222232021.3911545-2-matthew.brost@intel.com
(cherry picked from commit ddadc71)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants