Skip to content

Commit d3ff6cb

Browse files
Alain Volmaterwango
authored andcommitted
dcmipp: allow PIPE_SetConfig when pipe state is READY
Allow to call HAL_DCMIPP_PIPE_SetConfig when the pipe state is READY. Currently it is only possible to use this function if the pipe state is RESET and ERROR states. Indeed, it is possible to reconfigure the PIPE as soon as the pipe is not currently being used, aka in the READY state. With that done, it becomes possible to change the PIPE configuration between two use-cases without having to DeInit / Init the HAL_DCMIPP or use the unitary pixel packer functions. Signed-off-by: Alain Volmat <[email protected]>
1 parent e61c99e commit d3ff6cb

File tree

8 files changed

+45
-5
lines changed

8 files changed

+45
-5
lines changed

stm32cube/stm32h7rsxx/README

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,13 @@ Patch List:
6161
Impacted file:
6262
stm32cube/stm32h7rsxx/drivers/src/stm32h7rsxx_hal_sdio.c
6363

64+
*Allow usage of HAL_DCMIPP_PIPE_SetConfig when DCMIPP is in READY state
65+
Allow performing PIPE configuration when the DCMIPP device is not only
66+
in RESET and ERROR states but also in READY state. This allow to
67+
reconfigure a DCMIPP pipe between 2 use-cases without having to
68+
call HAL_DCMIPP_DeInit / HAL_DCMIPP_Init.
69+
Impacted file:
70+
stm32cube/stm32h7rsxx/drivers/src/stm32h7rsxx_hal_dcmipp.c
71+
Internal reference: 215688
72+
6473
See release_note.html from STM32Cube

stm32cube/stm32h7rsxx/drivers/src/stm32h7rsxx_hal_dcmipp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,8 @@ HAL_StatusTypeDef HAL_DCMIPP_PIPE_SetConfig(DCMIPP_HandleTypeDef *hdcmipp, uint3
490490

491491
if (hdcmipp->State == HAL_DCMIPP_STATE_READY)
492492
{
493-
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) || (pipe_state == HAL_DCMIPP_PIPE_STATE_ERROR))
493+
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_READY) || (pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) ||
494+
(pipe_state == HAL_DCMIPP_PIPE_STATE_ERROR))
494495
{
495496
/* Update the DCMIPP PIPE state */
496497
hdcmipp->PipeState[Pipe] = HAL_DCMIPP_PIPE_STATE_BUSY;

stm32cube/stm32mp13xx/README

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,13 @@ Patch List:
4747
Impacted files:
4848
drivers/include/Legacy/stm32_hal_legacy.h
4949

50-
See release_note.html from STM32Cube
50+
*Allow usage of HAL_DCMIPP_PIPE_SetConfig when DCMIPP is in READY state
51+
Allow performing PIPE configuration when the DCMIPP device is not only
52+
in RESET and ERROR states but also in READY state. This allow to
53+
reconfigure a DCMIPP pipe between 2 use-cases without having to
54+
call HAL_DCMIPP_DeInit / HAL_DCMIPP_Init.
55+
Impacted file:
56+
stm32cube/stm32mp13xx/drivers/src/stm32mp13xx_hal_dcmipp.c
57+
Internal reference: 215688
58+
59+
See release_note.html from STM32Cube

stm32cube/stm32mp13xx/drivers/src/stm32mp13xx_hal_dcmipp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,8 @@ HAL_StatusTypeDef HAL_DCMIPP_PIPE_Config(DCMIPP_HandleTypeDef *phdcmipp, uint32_
484484

485485
if (phdcmipp->State == HAL_DCMIPP_STATE_READY)
486486
{
487-
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) || \
487+
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_READY) ||
488+
(pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) ||
488489
(pipe_state == HAL_DCMIPP_PIPE_STATE_ERROR))
489490
{
490491
/* Update the DCMIPP PIPE state */

stm32cube/stm32mp2xx/README

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,13 @@ Patch List:
6363
- The stm32cube/stm32mp2xx/drivers/src/stm32mp2xx_ll_rcc.c file was modified
6464
for retrieving the clock configuration of the I2C8 peripheral.
6565

66+
*Allow usage of HAL_DCMIPP_PIPE_SetConfig when DCMIPP is in READY state
67+
Allow performing PIPE configuration when the DCMIPP device is not only
68+
in RESET and ERROR states but also in READY state. This allow to
69+
reconfigure a DCMIPP pipe between 2 use-cases without having to
70+
call HAL_DCMIPP_DeInit / HAL_DCMIPP_Init.
71+
Impacted file:
72+
stm32cube/stm32mp2xx/drivers/src/stm32mp2xx_hal_dcmipp.c
73+
Internal reference: 215688
74+
6675
See release_note.html from STM32Cube

stm32cube/stm32mp2xx/drivers/src/stm32mp2xx_hal_dcmipp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1414,7 +1414,8 @@ HAL_StatusTypeDef HAL_DCMIPP_PIPE_SetConfig(DCMIPP_HandleTypeDef *hdcmipp, uint3
14141414

14151415
if (hdcmipp->State == HAL_DCMIPP_STATE_READY)
14161416
{
1417-
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) || (pipe_state == HAL_DCMIPP_PIPE_STATE_ERROR))
1417+
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_READY) || (pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) ||
1418+
(pipe_state == HAL_DCMIPP_PIPE_STATE_ERROR))
14181419
{
14191420
/* Update the DCMIPP PIPE state */
14201421
hdcmipp->PipeState[Pipe] = HAL_DCMIPP_PIPE_STATE_BUSY;

stm32cube/stm32n6xx/README

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,13 @@ Patch List:
7575
Impacted file:
7676
stm32cube/stm32n6xx/drivers/src/stm32n6xx_hal_sdio.c
7777

78+
*Allow usage of HAL_DCMIPP_PIPE_SetConfig when DCMIPP is in READY state
79+
Allow performing PIPE configuration when the DCMIPP device is not only
80+
in RESET and ERROR states but also in READY state. This allow to
81+
reconfigure a DCMIPP pipe between 2 use-cases without having to
82+
call HAL_DCMIPP_DeInit / HAL_DCMIPP_Init.
83+
Impacted file:
84+
stm32cube/stm32n6xx/drivers/src/stm32n6xx_hal_dcmipp.c
85+
Internal reference: 215688
86+
7887
See release_note.html from STM32Cube

stm32cube/stm32n6xx/drivers/src/stm32n6xx_hal_dcmipp.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1041,7 +1041,8 @@ HAL_StatusTypeDef HAL_DCMIPP_PIPE_SetConfig(DCMIPP_HandleTypeDef *hdcmipp, uint3
10411041

10421042
if (hdcmipp->State == HAL_DCMIPP_STATE_READY)
10431043
{
1044-
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) || (pipe_state == HAL_DCMIPP_PIPE_STATE_ERROR))
1044+
if ((pipe_state == HAL_DCMIPP_PIPE_STATE_READY) || (pipe_state == HAL_DCMIPP_PIPE_STATE_RESET) ||
1045+
(pipe_state == HAL_DCMIPP_PIPE_STATE_ERROR))
10451046
{
10461047
/* Update the DCMIPP PIPE state */
10471048
hdcmipp->PipeState[Pipe] = HAL_DCMIPP_PIPE_STATE_BUSY;

0 commit comments

Comments
 (0)