[PW_SID:1087348] serial: 8250_dw: Add support for UltraRISC DP1000 UART#1838
[PW_SID:1087348] serial: 8250_dw: Add support for UltraRISC DP1000 UART#1838linux-riscv-bot wants to merge 6 commits into
Conversation
…_TYPED_FUNC_START After commit 67bdd7b ("riscv: Split out measure_cycles() for reuse") and commit c03ad15 ("riscv: Reuse measure_cycles() in check_vector_unaligned_access()"), there are CFI failure when booting kernels with CONFIG_CFI=y: CFI failure at measure_cycles+0x38/0xe0 (target: __riscv_copy_words_unaligned+0x0/0x50; expected type: ...) CFI failure at measure_cycles+0x38/0xe0 (target: __riscv_copy_vec_words_unaligned+0x0/0x24; expected type: ...) The __riscv_copy_*_unaligned() functions are now called indirectly but they are not defined with SYM_TYPED_FUNC_START, which is required for assembly functions called indirectly from C to pass CFI checking. Switch to SYM_TYPED_FUNC_START to clear up the CFI failures. Fixes: 67bdd7b ("riscv: Split out measure_cycles() for reuse") Fixes: c03ad15 ("riscv: Reuse measure_cycles() in check_vector_unaligned_access()") Signed-off-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Sami Tolvanen <samitolvanen@google.com> Reviewed-by: Nam Cao <namcao@linutronix.de> Link: https://patch.msgid.link/20260406-measure_cycles-cfi-failure-v1-1-03e0234ae02f@kernel.org Signed-off-by: Paul Walmsley <pjw@kernel.org>
Move the DW_UART_* register offsets and CPR bit/field definitions from 8250_dwlib.c into 8250_dwlib.h so they can be shared by 8250_dw and 8250_dwlib users. Add an include guard for 8250_dwlib.h. Signed-off-by: Jia Wang <wangjia@ultrarisc.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
…nitions Replace the magic CPR value for Renesas RZ/N1 with a composition using DW_UART_CPR_* bit/field definitions and FIELD_PREP_CONST(). Introduce a helper macro to convert a FIFO size (bytes) into the CPR FIFO_MODE field value, with BUILD_BUG_ON_ZERO() checks for alignment and bounds. Use it to replace the literal FIFO_MODE values in the RZN1. Signed-off-by: Jia Wang <wangjia@ultrarisc.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
UltraRISC DP1000 integrates a Synopsys DesignWare APB UART, but it does not provide the standard CPR and UCV registers. Signed-off-by: Jia Wang <wangjia@ultrarisc.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The UltraRISC DP1000 UART does not provide the standard CPR register used by 8250_dw to discover port capabilities. Provide a fixed CPR value for the DP1000-specific compatible so the driver can configure the port correctly. Signed-off-by: Jia Wang <wangjia@ultrarisc.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 1: "[v7,1/4] serial: 8250_dwlib: move DesignWare register definitions to header" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 2: "[v7,2/4] serial: 8250_dw: build Renesas RZN1 CPR value from DW_UART_CPR_* definitions" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 3: "[v7,3/4] dt-bindings: serial: snps-dw-apb-uart: Add UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
|
Patch 4: "[v7,4/4] serial: 8250_dw: Use a fixed CPR value for UltraRISC DP1000 UART" |
01805bc to
94a07a2
Compare
PR for series 1087348 applied to workflow__riscv__fixes
Name: serial: 8250_dw: Add support for UltraRISC DP1000 UART
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1087348
Version: 7