-
Notifications
You must be signed in to change notification settings - Fork 863
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
jesd204_ultrascale -> master #84
Conversation
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
The AD9528 driver was updated by replacing diff_m1 with div_m1. This was done since this is a divider and not a differential setting. Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Instead of manually specifying all the AD9528 PLL2 divider settings, the driver can compute now these values starting from the desired output frequency. Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
there are 4 minor checkpatch warnings that make the build red |
@@ -80,7 +80,6 @@ CONFIG_XILINX_EMACLITE=y | |||
CONFIG_XILINX_AXI_EMAC=y | |||
CONFIG_XILINX_LL_TEMAC=y | |||
CONFIG_MARVELL_PHY=y | |||
CONFIG_FIXED_PHY=y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
curios: this removes the FIXED_PHY support ; is this intended ? or, will it cause any issues ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's quite possible that some other config option does 'select FIXED_PHY' and that's why we no longer need to explicitly select it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah ; you're right ; i just checked; it seems to be selected by a number of other options
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, FIXED_PHY was not disabled - it is automatically enabled by other modules so "make savedefconfig" doesn't explicit enable it.
47311da
to
1dd6378
Compare
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
The CS lines were swapped in the FPGA project to preserve consistency. Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
DMAs are connected to FCLK2, while the rest of the cores are connected to FCLK0. Enable both and specify the correct one for the DMAs. Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
The original setting (1) seems to be too small causing JESD link issues. Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
1dd6378
to
4fae78f
Compare
The "UltraScale Architecture GTH Transceivers User Guide" doesn't list values for all registers - it advises the user to generate them using the Wizard. As a later task, settings for different frequencies can be generated using the Wizard and stored in the driver. Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
4fae78f
to
2495952
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Will merge later today if no objections
This patch fixes the below kernel crash by initializing the notifier. [ 8.921633] Unable to handle kernel paging request at virtual address ffffffffffffffd8 [ 8.929552] Mem abort info: [ 8.932335] ESR = 0x96000005 [ 8.935380] EC = 0x25: DABT (current EL), IL = 32 bits [ 8.940686] SET = 0, FnV = 0 [ 8.943739] EA = 0, S1PTW = 0 [ 8.946871] Data abort info: [ 8.949745] ISV = 0, ISS = 0x00000005 [ 8.953574] CM = 0, WnR = 0 [ 8.956530] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000000f3b000 [ 8.963229] [ffffffffffffffd8] pgd=0000000000000000, pud=0000000000000000 [ 8.970020] Internal error: Oops: 96000005 [#1] SMP [ 8.974889] Modules linked in: [ 8.977939] CPU: 3 PID: 58 Comm: kworker/3:1 Not tainted 5.4.0-00190-g32df9bde2d74 #84 [ 8.985847] Hardware name: ZynqMP ZCU102 Rev1.0 (DT) [ 8.990810] Workqueue: events deferred_probe_work_func [ 8.995942] pstate: a0000005 (NzCv daif -PAN -UAO) [ 9.000730] pc : v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.006117] lr : v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.011504] sp : ffffffc0112bbad0 [ 9.014811] x29: ffffffc0112bbad0 x28: 0000000000000438 [ 9.020116] x27: 0000000000000001 x26: 0000000000000001 [ 9.025420] x25: ffffff80068369a8 x24: 0000000000000003 [ 9.030724] x23: 00000000ffffffff x22: ffffff80068369a0 [ 9.036028] x21: 0000000000000000 x20: ffffff80068393b8 [ 9.041332] x19: ffffffffffffffd8 x18: 0000000000000000 [ 9.046636] x17: ffffff806d401508 x16: ffffff806d401528 [ 9.051940] x15: ffffffffffffffff x14: ffffff0000000000 [ 9.057244] x13: ffffffffffffffff x12: 0000000000000028 [ 9.062548] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f [ 9.067852] x9 : 7f7f7f7f7f7f7f7f x8 : fefeff7273716e6f [ 9.073156] x7 : 0000000000ffffff x6 : 0000000000000000 [ 9.078460] x5 : 0000000000000000 x4 : 0000000000000000 [ 9.083764] x3 : ffffffffffffffd8 x2 : 00000000ffffffff [ 9.089068] x1 : ffffff80068369a8 x0 : 0000000000000003 [ 9.094372] Call trace: [ 9.096814] v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.101858] v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.106902] xvip_m2m_probe+0x338/0x548 [ 9.110729] platform_drv_probe+0x50/0xa0 [ 9.114730] really_probe+0xd8/0x2f8 [ 9.118297] driver_probe_device+0x54/0xe8 [ 9.122386] __device_attach_driver+0x80/0xb8 [ 9.126738] bus_for_each_drv+0x74/0xc0 [ 9.130564] __device_attach+0xdc/0x138 [ 9.134392] device_initial_probe+0x10/0x18 [ 9.138567] bus_probe_device+0x90/0x98 [ 9.142396] deferred_probe_work_func+0x6c/0xa0 [ 9.146920] process_one_work+0x1c4/0x338 [ 9.150920] worker_thread+0x260/0x488 [ 9.154663] kthread+0x120/0x128 [ 9.157883] ret_from_fork+0x10/0x18 [ 9.161454] Code: 37f80097 6b1502ff 110006b5 5400018d (b8408462) [ 9.167537] ---[ end trace 1ec282f3f6f1bd3f ]--- Signed-off-by: Vishal Sagar <vishal.sagar@xilinx.com> Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com> State: pending
This patch fixes the below kernel crash by initializing the notifier. [ 8.921633] Unable to handle kernel paging request at virtual address ffffffffffffffd8 [ 8.929552] Mem abort info: [ 8.932335] ESR = 0x96000005 [ 8.935380] EC = 0x25: DABT (current EL), IL = 32 bits [ 8.940686] SET = 0, FnV = 0 [ 8.943739] EA = 0, S1PTW = 0 [ 8.946871] Data abort info: [ 8.949745] ISV = 0, ISS = 0x00000005 [ 8.953574] CM = 0, WnR = 0 [ 8.956530] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000000f3b000 [ 8.963229] [ffffffffffffffd8] pgd=0000000000000000, pud=0000000000000000 [ 8.970020] Internal error: Oops: 96000005 [#1] SMP [ 8.974889] Modules linked in: [ 8.977939] CPU: 3 PID: 58 Comm: kworker/3:1 Not tainted 5.4.0-00190-g32df9bde2d74 #84 [ 8.985847] Hardware name: ZynqMP ZCU102 Rev1.0 (DT) [ 8.990810] Workqueue: events deferred_probe_work_func [ 8.995942] pstate: a0000005 (NzCv daif -PAN -UAO) [ 9.000730] pc : v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.006117] lr : v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.011504] sp : ffffffc0112bbad0 [ 9.014811] x29: ffffffc0112bbad0 x28: 0000000000000438 [ 9.020116] x27: 0000000000000001 x26: 0000000000000001 [ 9.025420] x25: ffffff80068369a8 x24: 0000000000000003 [ 9.030724] x23: 00000000ffffffff x22: ffffff80068369a0 [ 9.036028] x21: 0000000000000000 x20: ffffff80068393b8 [ 9.041332] x19: ffffffffffffffd8 x18: 0000000000000000 [ 9.046636] x17: ffffff806d401508 x16: ffffff806d401528 [ 9.051940] x15: ffffffffffffffff x14: ffffff0000000000 [ 9.057244] x13: ffffffffffffffff x12: 0000000000000028 [ 9.062548] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f [ 9.067852] x9 : 7f7f7f7f7f7f7f7f x8 : fefeff7273716e6f [ 9.073156] x7 : 0000000000ffffff x6 : 0000000000000000 [ 9.078460] x5 : 0000000000000000 x4 : 0000000000000000 [ 9.083764] x3 : ffffffffffffffd8 x2 : 00000000ffffffff [ 9.089068] x1 : ffffff80068369a8 x0 : 0000000000000003 [ 9.094372] Call trace: [ 9.096814] v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.101858] v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.106902] xvip_m2m_probe+0x338/0x548 [ 9.110729] platform_drv_probe+0x50/0xa0 [ 9.114730] really_probe+0xd8/0x2f8 [ 9.118297] driver_probe_device+0x54/0xe8 [ 9.122386] __device_attach_driver+0x80/0xb8 [ 9.126738] bus_for_each_drv+0x74/0xc0 [ 9.130564] __device_attach+0xdc/0x138 [ 9.134392] device_initial_probe+0x10/0x18 [ 9.138567] bus_probe_device+0x90/0x98 [ 9.142396] deferred_probe_work_func+0x6c/0xa0 [ 9.146920] process_one_work+0x1c4/0x338 [ 9.150920] worker_thread+0x260/0x488 [ 9.154663] kthread+0x120/0x128 [ 9.157883] ret_from_fork+0x10/0x18 [ 9.161454] Code: 37f80097 6b1502ff 110006b5 5400018d (b8408462) [ 9.167537] ---[ end trace 1ec282f3f6f1bd3f ]--- Signed-off-by: Vishal Sagar <vishal.sagar@xilinx.com> Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
This patch fixes the below kernel crash by initializing the notifier. [ 8.921633] Unable to handle kernel paging request at virtual address ffffffffffffffd8 [ 8.929552] Mem abort info: [ 8.932335] ESR = 0x96000005 [ 8.935380] EC = 0x25: DABT (current EL), IL = 32 bits [ 8.940686] SET = 0, FnV = 0 [ 8.943739] EA = 0, S1PTW = 0 [ 8.946871] Data abort info: [ 8.949745] ISV = 0, ISS = 0x00000005 [ 8.953574] CM = 0, WnR = 0 [ 8.956530] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000000f3b000 [ 8.963229] [ffffffffffffffd8] pgd=0000000000000000, pud=0000000000000000 [ 8.970020] Internal error: Oops: 96000005 [#1] SMP [ 8.974889] Modules linked in: [ 8.977939] CPU: 3 PID: 58 Comm: kworker/3:1 Not tainted 5.4.0-00190-g32df9bde2d74 #84 [ 8.985847] Hardware name: ZynqMP ZCU102 Rev1.0 (DT) [ 8.990810] Workqueue: events deferred_probe_work_func [ 8.995942] pstate: a0000005 (NzCv daif -PAN -UAO) [ 9.000730] pc : v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.006117] lr : v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.011504] sp : ffffffc0112bbad0 [ 9.014811] x29: ffffffc0112bbad0 x28: 0000000000000438 [ 9.020116] x27: 0000000000000001 x26: 0000000000000001 [ 9.025420] x25: ffffff80068369a8 x24: 0000000000000003 [ 9.030724] x23: 00000000ffffffff x22: ffffff80068369a0 [ 9.036028] x21: 0000000000000000 x20: ffffff80068393b8 [ 9.041332] x19: ffffffffffffffd8 x18: 0000000000000000 [ 9.046636] x17: ffffff806d401508 x16: ffffff806d401528 [ 9.051940] x15: ffffffffffffffff x14: ffffff0000000000 [ 9.057244] x13: ffffffffffffffff x12: 0000000000000028 [ 9.062548] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f [ 9.067852] x9 : 7f7f7f7f7f7f7f7f x8 : fefeff7273716e6f [ 9.073156] x7 : 0000000000ffffff x6 : 0000000000000000 [ 9.078460] x5 : 0000000000000000 x4 : 0000000000000000 [ 9.083764] x3 : ffffffffffffffd8 x2 : 00000000ffffffff [ 9.089068] x1 : ffffff80068369a8 x0 : 0000000000000003 [ 9.094372] Call trace: [ 9.096814] v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.101858] v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.106902] xvip_m2m_probe+0x338/0x548 [ 9.110729] platform_drv_probe+0x50/0xa0 [ 9.114730] really_probe+0xd8/0x2f8 [ 9.118297] driver_probe_device+0x54/0xe8 [ 9.122386] __device_attach_driver+0x80/0xb8 [ 9.126738] bus_for_each_drv+0x74/0xc0 [ 9.130564] __device_attach+0xdc/0x138 [ 9.134392] device_initial_probe+0x10/0x18 [ 9.138567] bus_probe_device+0x90/0x98 [ 9.142396] deferred_probe_work_func+0x6c/0xa0 [ 9.146920] process_one_work+0x1c4/0x338 [ 9.150920] worker_thread+0x260/0x488 [ 9.154663] kthread+0x120/0x128 [ 9.157883] ret_from_fork+0x10/0x18 [ 9.161454] Code: 37f80097 6b1502ff 110006b5 5400018d (b8408462) [ 9.167537] ---[ end trace 1ec282f3f6f1bd3f ]--- Signed-off-by: Vishal Sagar <vishal.sagar@xilinx.com> Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com> State: pending
This patch fixes the below kernel crash by initializing the notifier. [ 8.921633] Unable to handle kernel paging request at virtual address ffffffffffffffd8 [ 8.929552] Mem abort info: [ 8.932335] ESR = 0x96000005 [ 8.935380] EC = 0x25: DABT (current EL), IL = 32 bits [ 8.940686] SET = 0, FnV = 0 [ 8.943739] EA = 0, S1PTW = 0 [ 8.946871] Data abort info: [ 8.949745] ISV = 0, ISS = 0x00000005 [ 8.953574] CM = 0, WnR = 0 [ 8.956530] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000000f3b000 [ 8.963229] [ffffffffffffffd8] pgd=0000000000000000, pud=0000000000000000 [ 8.970020] Internal error: Oops: 96000005 [#1] SMP [ 8.974889] Modules linked in: [ 8.977939] CPU: 3 PID: 58 Comm: kworker/3:1 Not tainted 5.4.0-00190-g32df9bde2d74 #84 [ 8.985847] Hardware name: ZynqMP ZCU102 Rev1.0 (DT) [ 8.990810] Workqueue: events deferred_probe_work_func [ 8.995942] pstate: a0000005 (NzCv daif -PAN -UAO) [ 9.000730] pc : v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.006117] lr : v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.011504] sp : ffffffc0112bbad0 [ 9.014811] x29: ffffffc0112bbad0 x28: 0000000000000438 [ 9.020116] x27: 0000000000000001 x26: 0000000000000001 [ 9.025420] x25: ffffff80068369a8 x24: 0000000000000003 [ 9.030724] x23: 00000000ffffffff x22: ffffff80068369a0 [ 9.036028] x21: 0000000000000000 x20: ffffff80068393b8 [ 9.041332] x19: ffffffffffffffd8 x18: 0000000000000000 [ 9.046636] x17: ffffff806d401508 x16: ffffff806d401528 [ 9.051940] x15: ffffffffffffffff x14: ffffff0000000000 [ 9.057244] x13: ffffffffffffffff x12: 0000000000000028 [ 9.062548] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f [ 9.067852] x9 : 7f7f7f7f7f7f7f7f x8 : fefeff7273716e6f [ 9.073156] x7 : 0000000000ffffff x6 : 0000000000000000 [ 9.078460] x5 : 0000000000000000 x4 : 0000000000000000 [ 9.083764] x3 : ffffffffffffffd8 x2 : 00000000ffffffff [ 9.089068] x1 : ffffff80068369a8 x0 : 0000000000000003 [ 9.094372] Call trace: [ 9.096814] v4l2_async_notifier_asd_valid+0x88/0x1d8 [ 9.101858] v4l2_async_notifier_add_subdev+0x38/0x78 [ 9.106902] xvip_m2m_probe+0x338/0x548 [ 9.110729] platform_drv_probe+0x50/0xa0 [ 9.114730] really_probe+0xd8/0x2f8 [ 9.118297] driver_probe_device+0x54/0xe8 [ 9.122386] __device_attach_driver+0x80/0xb8 [ 9.126738] bus_for_each_drv+0x74/0xc0 [ 9.130564] __device_attach+0xdc/0x138 [ 9.134392] device_initial_probe+0x10/0x18 [ 9.138567] bus_probe_device+0x90/0x98 [ 9.142396] deferred_probe_work_func+0x6c/0xa0 [ 9.146920] process_one_work+0x1c4/0x338 [ 9.150920] worker_thread+0x260/0x488 [ 9.154663] kthread+0x120/0x128 [ 9.157883] ret_from_fork+0x10/0x18 [ 9.161454] Code: 37f80097 6b1502ff 110006b5 5400018d (b8408462) [ 9.167537] ---[ end trace 1ec282f3f6f1bd3f ]--- Signed-off-by: Vishal Sagar <vishal.sagar@xilinx.com> Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com> State: pending
Many devices with a single alternate setting do not have a Valid Alternate Setting Control and validation performed by validate_sample_rate_table_v2v3() doesn't work on them and is not really needed. So check the presense of control before sending altsetting validation requests. MOTU Microbook IIc is suffering the most without this check. It takes up to 40 seconds to bootup due to how slow it switches sampling rates: [ 2659.164824] usb 3-2: New USB device found, idVendor=07fd, idProduct=0004, bcdDevice= 0.60 [ 2659.164827] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2659.164829] usb 3-2: Product: MicroBook IIc [ 2659.164830] usb 3-2: Manufacturer: MOTU [ 2659.166204] usb 3-2: Found last interface = 3 [ 2679.322298] usb 3-2: No valid sample rate available for 1:1, assuming a firmware bug [ 2679.322306] usb 3-2: 1:1: add audio endpoint 0x3 [ 2679.322321] usb 3-2: Creating new data endpoint #3 [ 2679.322552] usb 3-2: 1:1 Set sample rate 96000, clock 1 [ 2684.362250] usb 3-2: 2:1: cannot get freq (v2/v3): err -110 [ 2694.444700] usb 3-2: No valid sample rate available for 2:1, assuming a firmware bug [ 2694.444707] usb 3-2: 2:1: add audio endpoint 0x84 [ 2694.444721] usb 3-2: Creating new data endpoint #84 [ 2699.482103] usb 3-2: 2:1 Set sample rate 96000, clock 1 Signed-off-by: Alexander Tsoy <alexander@tsoy.me> Link: https://lore.kernel.org/r/20240129121254.3454481-1-alexander@tsoy.me Signed-off-by: Takashi Iwai <tiwai@suse.de>
No description provided.