On Thu, 2025-05-08 at 10:51 +0200, Philipp Stanner wrote:
> PCI region request functions such as pci_request_region() currently
> have
> the problem of becoming sometimes managed functions, if
> pcim_enable_device() instead of pci_enable_device() was called. The
> PCI
> subsyst
disablement manually.
Replace pcim_enable_device() with pci_enable_device(). Add the necessary
calls to pci_disable_device().
Signed-off-by: Philipp Stanner
Acked-by: Vamsi Attunuru
---
Changes in v4:
- s/AF/PF
- Add Vamsi's AB
Changes in v3:
- Only call pci_disable_device() for t
disablement manually.
Replace pcim_enable_device() with pci_enable_device(). Add the necessary
calls to pci_disable_device().
Signed-off-by: Philipp Stanner
---
Changes in v3:
- Only call pci_disable_device() for the PF version. For AF it would
cause a WARN_ON because pcim_enable_device()
On Wed, 2025-04-23 at 12:39 +0200, Philipp Stanner wrote:
> PCI region request functions such as pci_request_region() currently
> have
> the problem of becoming sometimes managed functions, if
> pcim_enable_device() instead of pci_enable_device() was called. The
> PCI
> subsyst
pcim_enable_device() with pci_enable_device(). Add the necessary
calls to pci_disable_device().
Signed-off-by: Philipp Stanner
---
Was formerly called "Use non-hybrid PCI devres API"
Changes in v2:
- Don't replace the request functions. Enable / disable manually
instead. (Vamsi)
--
On Thu, 2025-04-17 at 12:56 +, Vamsi Krishna Attunuru wrote:
>
>
> > -Original Message-
> > From: Philipp Stanner
> > Sent: Thursday, April 17, 2025 4:09 PM
> > To: Vamsi Krishna Attunuru ; Philipp Stanner
> > ; Srujana Challa ; Michael
&g
On Thu, 2025-04-17 at 09:02 +, Vamsi Krishna Attunuru wrote:
>
>
> > -Original Message-
> > From: Philipp Stanner
> > Sent: Thursday, April 17, 2025 1:32 PM
> > To: Srujana Challa ; Vamsi Krishna Attunuru
> > ; Michael S. Tsirkin ; Jason
>
-managed pcim_request_region().
Signed-off-by: Philipp Stanner
---
drivers/vdpa/octeon_ep/octep_vdpa_main.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/vdpa/octeon_ep/octep_vdpa_main.c
b/drivers/vdpa/octeon_ep/octep_vdpa_main.c
index f3d4dda4e04c..e0da6367661e
Reviewed-by: Peng Fan
> Reviewed-by: Frank Li
> Signed-off-by: Daniel Baluta
Reviewed-by: Philipp Zabel
regards
Philipp
Hi Mathieu,
On Di, 2025-03-11 at 10:27 -0600, Mathieu Poirier wrote:
> Thanks for the re-spin. I will wait for Shawn and Sascha to review their
> respective bits before picking up this set.
Acked-by: Philipp Zabel
for merging the whole series via rproc.
regards
Philipp
Frank Li
> Signed-off-by: Daniel Baluta
Reviewed-by: Philipp Zabel
regards
Philipp
Hi Daniel,
On Di, 2025-02-25 at 15:41 +0200, Daniel Baluta wrote:
> Hello Philipp,
>
> Thanks for your comments!
>
> > The DAP core reset is mentioned in the commit message. Why is it
> > missing here? After reading the discussion in [1], I'd expect both the
&
NG_RESET_IMX8MP_AUDIOMIX_H
> +
> +#define IMX8MP_AUDIOMIX_EARC 0
> +#define IMX8MP_AUDIOMIX_EARC_PHY 1
> +#define IMX8MP_AUDIOMIX_DSP 2
How about calling these IMX8MP_AUDIOMIX_EARC_RESET,
IMX8MP_AUDIOMIX_EARC_PHY_RESET, and IMX8MP_AUDIOMIX_DSP_STALL instead?
regards
Philipp
<&dsp_vdev0vring1>, <&dsp_reserved>;
> - fsl,dsp-ctrl = <&audio_blk_ctrl>;
Is there nothing else in this range that will have to be controlled by
the DSP driver in the future, such as the IMPWIRE register or the
XOCDMODE[OCDHALTONRESET] bit?
regards
Philipp
break;
> default:
> return -EOPNOTSUPP;
> }
> @@ -995,6 +997,13 @@ static int imx_dsp_rproc_detect_mode(struct
> imx_dsp_rproc *priv)
>
> priv->regmap = regmap;
> break;
> + case IMX_RPROC_RESET_CONTROLLER:
> + priv->reset = devm_reset_control_get_optional_exclusive(dev,
> NULL);
Is this optional on purpose? There is no mention of it in the commit
message. Where is this resets property documented in the dt-bindings?
regards
Philipp
tel(reg | mask, reg_addr + offset);
> spin_unlock_irqrestore(&priv->lock, flags);
>
> return 0;
> @@ -78,7 +111,7 @@ static int imx8mp_audiomix_reset_probe(struct
> auxiliary_device *adev,
> spin_lock_init(&priv->lock);
>
> priv->rcdev.owner = THIS_MODULE;
> - priv->rcdev.nr_resets = fls(IMX8MP_AUDIOMIX_EARC_RESET_MASK);
> + priv->rcdev.nr_resets = IMX8MP_AUDIOMIX_RESET_NUM;
Could use ARRAY_SIZE(reset_map) here.
regards
Philipp
e,
> },
> -
This belongs in patch 2.
> + [IMX8MP_AUDIOMIX_DSP] = {
> + .offset = IMX8MP_AUDIOMIX_DSP_OFFSET,
> + .mask = IMX8MP_AUDIOMIX_DSP_RUNSTALL_MASK,
> + .active_low = false,
> + },
> };
>
> struct imx8mp_audiomix_reset {
Otherwise,
Reviewed-by: Philipp Zabel
regards
Philipp
On Di, 2025-02-18 at 10:57 +0200, Daniel Baluta wrote:
> This adds IMX8MP_AUDIOMIX_ prefix to internal macros
> in order to show that specific macros are related to
> audiomix.
>
> Signed-off-by: Daniel Baluta
Reviewed-by: Philipp Zabel
regards
Philipp
ned int mask, offset, reg;
> - unsigned long flags;
> + unsigned int mask, offset, active_low;
> + unsigned long reg, flags;
Nitpick, I would make active_low bool, like assert. Otherwise,
Reviewed-by: Philipp Zabel
regards
Philipp
On Thu, 2024-12-19 at 10:51 +0100, Stefano Garzarella wrote:
> On Thu, Dec 19, 2024 at 10:44:29AM +0100, Philipp Stanner wrote:
> > From: Philipp Stanner
> >
> > The PCI functions
> >
> > pcim_iomap_regions()
> > pcim_iounmap_regions()
> &
From: Philipp Stanner
The PCI functions
pcim_iomap_regions()
pcim_iounmap_regions()
pcim_iomap_table()
have been deprecated by the PCI subsystem.
Replace these functions with their successors pcim_iomap_region() and
pcim_iounmap_region().
Signed-off-by: Philipp
On Fri, 2024-12-13 at 16:10 +0100, Stefano Garzarella wrote:
> On Wed, Dec 11, 2024 at 11:47:05AM +0100, Philipp Stanner wrote:
> > The PCI functions
> >
> > pcim_iomap_regions()
> > pcim_iounmap_regions()
> > pcim_iomap_table()
> >
> &
The PCI functions
pcim_iomap_regions()
pcim_iounmap_regions()
pcim_iomap_table()
have been deprecated by the PCI subsystem.
Replace these functions with their successors pcim_iomap_region() and
pcim_iounmap_region().
Signed-off-by: Philipp Stanner
---
Changes in v3
On Mon, 2024-12-09 at 14:31 +0100, Stefano Garzarella wrote:
> On Mon, Dec 09, 2024 at 12:51:18PM +0100, Philipp Stanner wrote:
> > The PCI functions
> >
> > pcim_iomap_regions()
> > pcim_iounmap_regions()
> > pcim_iomap_table()
> >
> &
The PCI functions
pcim_iomap_regions()
pcim_iounmap_regions()
pcim_iomap_table()
have been deprecated by the PCI subsystem.
Replace these functions with their successors pcim_iomap_region() and
pcim_iounmap_region().
Signed-off-by: Philipp Stanner
---
Changes in v2
The PCI functions
pcim_iomap_regions()
pcim_iounmap_regions()
pcim_iomap_table()
have been deprecated by the PCI subsystem.
Replace these functions with their successors pcim_iomap_region() and
pcim_iounmap_region().
Signed-off-by: Philipp Stanner
---
drivers/vdpa
-ac59-49e2-9b1d-d825c9c9f...@wanadoo.fr/
Suggested-by: Andy Shevchenko
Signed-off-by: Philipp Stanner
Reviewed-by: Stefano Garzarella
---
Changes in v2:
- Add Stefano's RB
---
drivers/vdpa/solidrun/snet_main.c | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git
On Wed, 2024-10-16 at 12:51 +0200, Greg KH wrote:
> On Wed, Oct 16, 2024 at 11:22:48AM +0200, Philipp Stanner wrote:
> > On Wed, 2024-10-16 at 12:08 +0300, Andy Shevchenko wrote:
> > > On Wed, Oct 16, 2024 at 09:25:54AM +0200, Philipp Stanner wrote:
> > > &
On Wed, 2024-10-16 at 12:08 +0300, Andy Shevchenko wrote:
> On Wed, Oct 16, 2024 at 09:25:54AM +0200, Philipp Stanner wrote:
> > In psnet_open_pf_bar() and snet_open_vf_bar() a string later passed
> > to
> > pcim_iomap_regions() is placed on the stack. Neither
> > p
-ac59-49e2-9b1d-d825c9c9f...@wanadoo.fr/
Suggested-by: Andy Shevchenko
Signed-off-by: Philipp Stanner
---
drivers/vdpa/solidrun/snet_main.c | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/vdpa/solidrun/snet_main.c
b/drivers/vdpa/solidrun/snet_ma
-ac59-49e2-9b1d-d825c9c9f...@wanadoo.fr/
Suggested-by: Andy Shevchenko
Signed-off-by: Philipp Stanner
---
drivers/vdpa/solidrun/snet_main.c | 14 ++
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/vdpa/solidrun/snet_main.c
b/drivers/vdpa/solidrun/snet_ma
> + struct device *dev;
This device handle is apparently unused.
> + void __iomem*base;
> + struct reset_control*rst;
This reset control handle is unused as well.
> + /* Synchronizes I/O mem access to base. */
> + spinlock_t lock;
> +};
regards
Philipp
On Thu, Apr 01, 2021 at 06:26:07PM +0800, Yang Yingliang wrote:
> There is an error message within devm_ioremap_resource
> already, so remove the dev_err call to avoid redundant
> error message.
>
> Reported-by: Hulk Robot
> Signed-off-by: Yang Yingliang
Thank you,
Reviewed
On Fri, Mar 26, 2021 at 03:26:15PM +0100, Benjamin Gaignard wrote:
>
> Le 26/03/2021 à 15:11, Philipp Zabel a écrit :
> > On Thu, Mar 18, 2021 at 09:20:35AM +0100, Benjamin Gaignard wrote:
> > > Introducing G2 hevc video decoder lead to modify the bindings to allow
> >
clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>,
> + <&clk IMX8MQ_CLK_VPU_G2_ROOT>,
> + <&clk IMX8MQ_CLK_VPU_DEC_ROOT>;
> + clock-names = "g1", "g2", "bus";
> + assigned-clocks = <&clk IMX8MQ_CLK_VPU_G1>,
Can the G1 clock configuration be dropped from the G2 device node and
the G2 clock configuration from the G1 device node? It looks weird that
these devices configure each other's clocks.
regards
Philipp
f-by: Benjamin Gaignard
Reviewed-by: Philipp Zabel
regards
Philipp
_unprepare(vpu->variant->num_clocks, vpu->clocks);
>
> @@ -150,8 +149,22 @@ static irqreturn_t imx8m_vpu_g1_irq(int irq, void
> *dev_id)
>
> static int imx8mq_vpu_hw_init(struct hantro_dev *vpu)
> {
> - vpu->dec_base = vpu->reg_bases[0];
> - vpu->ctrl_base = vpu->reg_bases[vpu->variant->num_regs - 1];
> + struct device_node *np = vpu->dev->of_node;
> +
> + vpu->ctrl_base = syscon_regmap_lookup_by_phandle(np,
> "nxp,imx8mq-vpu-ctrl");
I think calling this nxp,imx8m-vpu-ctrl would allow to share this with
i.MX8MM later. Otherwise,
Reviewed-by: Philipp Zabel
thanks
Philipp
gt;;
> -reg-names = "g1", "g2", "ctrl";
> -interrupts = ,
> - ;
> -interrupt-names = "g1", "g2";
> +reg = <0x3830 0x1>;
> +interrupts = ;
> +interrupt-names = "g1";
> +clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>,
> + <&clk IMX8MQ_CLK_VPU_G2_ROOT>,
Does the G1 VPU require the G2 clock and vice versa?
regards
Philipp
ver may hit the out-of-bounds
> > problem at runtime anyway.
> >
> > Signed-off-by: Arnd Bergmann
> Reviewed-by: Liu Ying
Thank you, applied to imx-drm/fixes.
regards
Philipp
.
>
> Fixes: 8767f4711b2b (drm/imx: imx-ldb: move initialization into probe)
> Signed-off-by: Liu Ying
Thank you, applied to imx-drm/fixes.
regards
Philipp
o imx-drm/fixes.
regards
Philipp
control over the reset line.
> + if (IS_ERR(priv->reset)) {
> + ret = PTR_ERR(priv->reset);
> + dev_err(dev, "failed to get reset control: %d\n", ret);
> + return ret;
You could use:
return dev_err_probe(dev, PTR_ERR(priv->reset),
"failed to get reset control");
regards
Philipp
On Thu, 2021-03-04 at 17:03 +0100, Michal Simek wrote:
>
> On 3/4/21 5:00 PM, Philipp Zabel wrote:
> > Fixes checkpatch issues:
> >
> > ERROR: code indent should use tabs where possible
> > #86: FILE: drivers/reset/reset-zynqmp.c:86:
> > +.reset
FIPS 140-2(2001-10-10) Continuous run: 0
> rngtest: input channel speed: (min=37.253; avg=320.827; max=635.783)Mibits/s
> rngtest: FIPS tests speed: (min=12.141; avg=15.034; max=16.428)Mibits/s
> rngtest: Program run time: 1336176 microseconds
>
> Signed-off-by: Álvaro Fernández Rojas
reset-axs10x is GPL-2.0-only, add a SPDX-License-Identifier.
Signed-off-by: Philipp Zabel
---
drivers/reset/reset-axs10x.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/reset/reset-axs10x.c b/drivers/reset/reset-axs10x.c
index a854ef41364d..ca78b859936c 100644
Fixes a checkpatch warning:
WARNING: It's generally not useful to have the filename in the file
#3: FILE: drivers/reset/reset-oxnas.c:3:
+ * drivers/reset/reset-oxnas.c
Signed-off-by: Philipp Zabel
---
drivers/reset/reset-oxnas.c | 2 +-
1 file changed, 1 insertion(+), 1 del
con_reset_data(rcdev) \
+ container_of(rcdev, struct ti_syscon_reset_data, rcdev)
Signed-off-by: Philipp Zabel
---
drivers/reset/reset-ti-syscon.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.
Fixes a checkpatch error:
ERROR: Macros with complex values should be enclosed in parentheses
#23: FILE: drivers/reset/reset-uniphier.c:23:
+#define UNIPHIER_RESET_ID_END(unsigned int)(-1)
Signed-off-by: Philipp Zabel
---
drivers/reset/reset-uniphier.c | 2 +-
1 file
Fixes a checkpatch warning:
WARNING: Possible comma where semicolon could be used
#156: FILE: drivers/reset/sti/reset-syscfg.c:156:
+ rc->rst.ops = &syscfg_reset_ops,
+ rc->rst.of_node = dev->of_node;
Signed-off-by: Philipp Zabel
---
drivers/reset/sti/reset-syscf
should use tabs where possible
#87: FILE: drivers/reset/reset-zynqmp.c:87:
+.num_resets = VERSAL_NR_RESETS,$
WARNING: please, no spaces at the start of a line
#87: FILE: drivers/reset/reset-zynqmp.c:87:
+.num_resets = VERSAL_NR_RESETS,$
Signed-off-by: Philipp Zabel
Fixes a checkpatch warning:
WARNING: Prefer 'unsigned int' to bare use of 'unsigned'
#55: FILE: drivers/reset/reset-berlin.c:55:
+ unsigned offset, bit;
Signed-off-by: Philipp Zabel
---
drivers/reset/reset-berlin.c | 2 +-
1 file changed, 1 insertion(+), 1 delet
node *node,
+ const char *id, int index, bool shared,
CHECK: Alignment should match open parenthesis
#781: FILE: drivers/reset/core.c:781:
+struct reset_control *__devm_reset_control_get(struct device *dev,
+ const char *id, int index, bool shared,
Signed-off-b
xclusive(dev, NULL);
regards
Philipp
pd->reset.membase = pd->va + PRCI_DEVICESRESETREG_OFFSET;
> + spin_lock_init(&pd->reset.lock);
> +
> + r = devm_reset_controller_register(&pdev->dev, &pd->reset.rcdev);
> + if (r) {
> + dev_err(dev, "could not register reset controller: %d\n", r);
> + return r;
> + }
> r = __prci_register_clocks(dev, pd, desc);
> +
Accidental whitespace?
Otherwise,
Reviewed-by: Philipp Zabel
regards
Philipp
onfigurations has been initialized, instead of de-asserting
> in probe. Fix it here.
>
> Fixes: 44d30d622821d ("phy: cadence: Add driver for Sierra PHY")
> Signed-off-by: Kishon Vijay Abraham I
> Cc: # v5.4+
Reviewed-by: Philipp Zabel
regards
Philipp
set_control_get_optional(dev, "sierra_apb");
> + rst = devm_reset_control_get_optional_exclusive(dev, "sierra_apb");
> if (IS_ERR(rst)) {
> dev_err(dev, "failed to get apb reset\n");
> return PTR_ERR(rst);
Oh, nevermind my comment on the previous patch.
Reviewed-by: Philipp Zabel
regards
Philipp
(dev, "failed to get reset\n");
> + return PTR_ERR(rst);
> + }
> + sp->phy_rst = rst;
> +
> + rst = devm_reset_control_get_optional(dev, "sierra_apb");
... and
rst = devm_reset_control_get_optional_exclusive(dev, "sierra_apb");
here (no functional change).
With that,
Reviewed-by: Philipp Zabel
regards
Philipp
nández Rojas
> ---
> v5: remove reset_control_rearm().
Reviewed-by: Philipp Zabel
regards
Philipp
On Wed, 2021-03-03 at 16:20 +0100, Benjamin Gaignard wrote:
> Le 03/03/2021 à 15:17, Philipp Zabel a écrit :
> > Hi Benjamin,
> >
> > On Mon, 2021-03-01 at 16:17 +0100, Benjamin Gaignard wrote:
> > > The two VPUs inside IMX8MQ share the same control block whi
use registers */
> + ret |= regmap_write(reset->regmap, CTRL_G1_DEC_FUSE, 0x);
> + ret |= regmap_write(reset->regmap, CTRL_G1_PP_FUSE, 0x);
> + ret |= regmap_write(reset->regmap, CTRL_G2_DEC_FUSE, 0x);
Same as above, this doesn't belong in reset_assert.
> + clk_bulk_disable_unprepare(reset->num_clocks, reset->clocks);
Also I assume that only the VPU_DEC_ROOT clock is required to control
these registers. Enabling the VPU_G1_ROOT and VPU_G2_ROOT clocks
(presumably to make sure the resets propagate into the respective VPU
core) would be the reset consumer's responsibility.
regards
Philipp
On Tue, 2021-02-02 at 22:15 +, Cristian Marussi wrote:
> Port driver to the new SCMI Reset interface based on protocol handles
> and common devm_get_ops().
>
> Cc: Philipp Zabel
> Signed-off-by: Cristian Marussi
Acked-by: Philipp Zabel
regards
Philipp
clk_enable(struct hantro_dev *vpu, u32 clock_bits)
> -{
> - u32 val;
> -
> - val = readl(vpu->ctrl_base + CTRL_CLOCK_ENABLE);
> - val |= clock_bits;
> - writel(val, vpu->ctrl_base + CTRL_CLOCK_ENABLE);
The way it is implemented in the reset driver, the clocks are now
ungated between assert and deassert instead of afterwards. Is this on
purpose?
regards
Philipp
o avoid the requirement of updating
kernel and DT in lock-step.
regards
Philipp
d = bcm2835_rng_read;
That doesn't seem right. reset_control_rearm() doesn't do anything if
the reset control is exclusive. Either the reset control should be
requested as shared, or the _rearm should be removed.
regards
Philipp
Follow the clock and regulator subsystems' lead and add a bulk API
for reset controls.
Signed-off-by: Philipp Zabel
---
drivers/reset/core.c | 213 +
include/linux/reset.h | 238 ++
2 files changed, 451 inser
devm_clk_bulk_get(). This will be very handy for both Tegra audio and
> GPU drivers. I'll prepare a v2 if there are no objections.
I do have an untested reset control bulk API patch that I've just never
finished, because I had no user. I'll send you an RFC, let me know if
you can build on that.
regards
Philipp
argv[])
{
int fd = open("/dev/mem", O_RDONLY | O_SYNC);
void *map = mmap(NULL, OCRAM_SIZE, PROT_READ, MAP_SHARED, fd,
OCRAM_START);
if (map == MAP_FAILED)
return EXIT_FAILURE;
write(1, map, OCRAM_SIZE);
munmap(map, OCRAM_SIZE);
close(fd);
return EXIT_SUCCESS;
}
-->8--
regards
Philipp
ch hassle.
> Add the new reset helper to the reset API.
>
> Tested-by: Peter Geis # Ouya T30
> Tested-by: Nicolas Chauvet # PAZ00 T20
> Tested-by: Matt Merhar # Ouya T30
> Signed-off-by: Dmitry Osipenko
> ---
>
> Hello Philipp,
>
> This patch is a prerequisite f
x27;ve seen on the PCF2127 and PCF2129 there is not
interrupted gernerated at the interrupt pin (INT), as long the PORO bit
is set. This behavior is not documented in the manual.
Signed-off-by: Philipp Rosenberger
---
drivers/rtc/rtc-pcf2127.c | 8
1 file changed, 8 insertions(+)
diff --git
:
- make commit log and comments more clear
- check if PORO was really disabled
Philipp Rosenberger (2):
rtc: pcf2127: Disable Power-On Reset Override
rtc: pcf2127: Run a OTP refresh if not done before
drivers/rtc/rtc-pcf2127.c | 25 +
1 file changed, 25 insertions
The datasheet of the PCF2127 states, it is recommended to process an OTP
refresh once the power is up and the oscillator is operating stable. The
OTP refresh takes less than 100 ms to complete.
Signed-off-by: Philipp Rosenberger
---
drivers/rtc/rtc-pcf2127.c | 17 +
1 file
The bcm6345_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel
---
drivers/reset/reset-bcm6345.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/reset/reset-bcm6345.c b/drivers/reset/reset-bcm6345.c
index 737e4e81f6b7..ac6c7ad1deda
On 14.01.21 12:11, Alexandre Belloni wrote:
On 14/01/2021 11:30:37+0100, Philipp Rosenberger wrote:
+ ret = regmap_set_bits(pcf2127->regmap, PCF2127_REG_CLKOUT,
+ PCF2127_BIT_CLKOUT_OTPR);
+ if (ret < 0) {
+ dev_err(dev, "%s:
On 14.01.21 11:53, Alexandre Belloni wrote:
On 14/01/2021 11:43:22+0100, Philipp Rosenberger wrote:
On 14.01.21 10:33, Alexandre Belloni wrote:
Hi,
On 14/01/2021 10:10:32+0100, Philipp Rosenberger wrote:
On 14.01.21 09:05, Uwe Kleine-König wrote:
On Wed, Jan 13, 2021 at 12:27:41PM
On 14.01.21 10:33, Alexandre Belloni wrote:
Hi,
On 14/01/2021 10:10:32+0100, Philipp Rosenberger wrote:
On 14.01.21 09:05, Uwe Kleine-König wrote:
On Wed, Jan 13, 2021 at 12:27:41PM +0100, Philipp Rosenberger wrote:
To resume normal operation after a total power loss (no or empty
battery
On 14.01.21 10:50, Alexandre Belloni wrote:
On 13/01/2021 12:27:42+0100, Philipp Rosenberger wrote:
The datasheet of the PCF2127 states,it is recommended to process an OTP
refresh once the power is up and the oscillator is operating stable. The
OTP refresh takes less than 100 ms to complete
t; +
> + syscons:
> +$ref: "/schemas/types.yaml#/definitions/phandle-array"
> +description: Array of syscons used to access reset registers
> +minItems: 2
The order seems to be important in the driver, so this should specify
which is the CPU syscon and which is the GCB syscon. I'm not sure if it
would be better to have two separately named syscon properties with a
single phandle each.
regards
Philipp
l);
> +err_gcb:
> + of_node_put(syscon_np);
> + dev_err(&pdev->dev, "No gcb syscon map\n");
> + return PTR_ERR(gcb_ctrl);
> +}
> +
> +static int mchp_sparx5_reset_probe(struct platform_device *pdev)
> +{
> + struct device *dev = &pdev->dev;
> + struct mchp_reset_context *ctx;
> +
> + pr_info("%s:%d\n", __func__, __LINE__);
> + ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
> + if (!ctx)
> + return -ENOMEM;
> + ctx->dev = dev;
> + return mchp_sparx5_reset_config(pdev, ctx);
> +}
You could fold the contents of mchp_sparx5_reset_config() into
mchp_sparx5_reset_probe() and replace all &pdev->dev with dev.
regards
Philipp
On 14.01.21 09:06, Uwe Kleine-König wrote:
On Wed, Jan 13, 2021 at 12:27:42PM +0100, Philipp Rosenberger wrote:
The datasheet of the PCF2127 states,it is recommended to process an OTP
s/,/, /
ACK
refresh once the power is up and the oscillator is operating stable. The
OTP refresh
On 14.01.21 09:05, Uwe Kleine-König wrote:
On Wed, Jan 13, 2021 at 12:27:41PM +0100, Philipp Rosenberger wrote:
To resume normal operation after a total power loss (no or empty
battery) the "Power-On Reset Override (PORO)" facility needs to be
disabled.
As the oscillator may t
and perform reset
> + * __device_reset - find reset controller associated with the device
> + * and perform reset
> * @dev: device to be reset by the controller
> * @optional: whether it is optional to reset the device
> *
Thank you, applied to reset/next.
regards
Philipp
h
the PORO active no interrupts are generated on the interrupt pin (INT).
Signed-off-by: Philipp Rosenberger
---
drivers/rtc/rtc-pcf2127.c | 18 ++
1 file changed, 18 insertions(+)
diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
index 39a7b5116aa4..378b1ce812d6 10
The datasheet of the PCF2127 states,it is recommended to process an OTP
refresh once the power is up and the oscillator is operating stable. The
OTP refresh takes less than 100 ms to complete.
Signed-off-by: Philipp Rosenberger
---
drivers/rtc/rtc-pcf2127.c | 16
1 file changed
If the PCF2127/2129 loses power it needs some initialization to work
correctly. A bootloader/firmware might do this. If not we should do this
in the driver.
Changes for v2:
- make commit log and comments more clear
- check if PORO was really disabled
Philipp Rosenberger (2):
rtc: pcf2127
Hi Uwe,
On 12.01.21 20:26, Uwe Kleine-König wrote:
Hello,
On Mon, Jan 04, 2021 at 05:19:09PM +0100, Philipp Rosenberger wrote:
If the PCF2127/2129 has lost all power and is then powered again it goes
into "Power-On Reset Override" mode. In this mode the RTC seems to work
fine
th < MXC_JPEG_MIN_WIDTH ||
> + header.frame.height < MXC_JPEG_MIN_HEIGHT) {
> dev_err(dev, "JPEG width or height should be > 64: %dx%d\n",
> - sof.width, sof.height);
> + header.frame.width, header.frame.height);
> return -EINVAL;
> }
> - if (sof.components_no > MXC_JPEG_MAX_COMPONENTS) {
> + if (header.frame.num_components > V4L2_JPEG_MAX_COMPONENTS) {
> dev_err(dev, "JPEG number of components should be <=%d",
> - MXC_JPEG_MAX_COMPONENTS);
> + V4L2_JPEG_MAX_COMPONENTS);
> return -EINVAL;
> }
> /* check and, if necessary, patch component IDs*/
> + psof = (struct mxc_jpeg_sof *)header.sof.start;
> + psos = (struct mxc_jpeg_sos *)header.sos.start;
> if (!mxc_jpeg_valid_comp_id(dev, psof, psos))
> dev_warn(dev, "JPEG component ids should be 0-3 or 1-4");
>
> - img_fmt = mxc_jpeg_get_image_format(dev, &sof);
> - if (img_fmt == MXC_JPEG_INVALID)
> + fourcc = mxc_jpeg_get_image_format(dev, header);
> + if (fourcc == 0)
> return -EINVAL;
>
> /*
> @@ -1413,12 +1282,11 @@ static int mxc_jpeg_parse(struct mxc_jpeg_ctx *ctx,
>* encoded with 3 components have RGB colorspace, see Recommendation
>* ITU-T T.872 chapter 6.5.3 APP14 marker segment for colour encoding
>*/
> - if (img_fmt == MXC_JPEG_YUV444 && app14 && app14_transform == 0)
> - img_fmt = MXC_JPEG_RGB;
> -
> - if (mxc_jpeg_imgfmt_to_fourcc(img_fmt, &fourcc)) {
> - dev_err(dev, "Fourcc not found for %d", img_fmt);
> - return -EINVAL;
> + if (fourcc == V4L2_PIX_FMT_YUV24 || fourcc == V4L2_PIX_FMT_RGB24) {
> + if (header.app14_tf == V4L2_JPEG_APP14_TF_CMYK_RGB)
> + fourcc = V4L2_PIX_FMT_RGB24;
> + else
> + fourcc = V4L2_PIX_FMT_YUV24;
> }
See above, this fixup could be moved into mxc_jpeg_get_image_format().
With that,
Reviewed-by: Philipp Zabel
regards
Philipp
+ *tf = ret;
> +
> + skip = lp - 2 - 11;
> + ret = jpeg_skip(stream, skip);
> + if (ret < 0)
> + return ret;
> +
> + return 0;
This could be simplified to
return jpeg_skip(stream, skip);
although it would be better style to move the *tf = ... assignment down
past the last error return instead. Either way,
Reviewed-by: Philipp Zabel
regards
Philipp
:
> >
> > ld: drivers/gpu/drm/imx/parallel-display.o: in function
> > `imx_pd_connector_get_modes':
> > parallel-display.c:(.text+0x8d): undefined reference to
> > `of_get_drm_display_mode'
>
> Probably something in the pull from philipp that I just merged
&g
DEFAULT;
> fmt->quantization = V4L2_QUANTIZATION_DEFAULT;
> fmt->xfer_func = V4L2_XFER_FUNC_DEFAULT;
Thank you,
Reviewed-by: Philipp Zabel
regards
Philipp
aclk
- const: hclk
- const: sclk
And then:
allOf:
- if:
properties:
compatible:
contains:
const: rockchip,px30-vpu
then:
properties:
clock-names:
minItems: 3
to make sure each variant has the correct clocks set.
regards
Philipp
t; fmt->ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT;
> fmt->quantization = V4L2_QUANTIZATION_DEFAULT;
> fmt->xfer_func = V4L2_XFER_FUNC_DEFAULT;
Subject and commit message do not describe the patch.
regards
Philipp
pointer check in the lower-level function.
> Thanks Philipp & Hans for feedback
>
> drivers/media/v4l2-core/v4l2-jpeg.c | 8
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-jpeg.c
> b/drivers/media/v4l2-core/v4l2-jpeg.c
> index dc9def4
the transform flag an enum
> Removed a change in comment section, a leftover from a previous version
> Thanks Philipp for feedback.
>
> drivers/media/v4l2-core/v4l2-jpeg.c | 43 +++--
> include/media/v4l2-jpeg.h | 18
> 2 files
The datasheet of the PCF2127 states,it is recommended to process an OTP
refresh once the power is up and the oscillator is operating stable. The
OTP refresh takes less than 100 ms to complete.
Signed-off-by: Philipp Rosenberger
---
drivers/rtc/rtc-pcf2127.c | 11 +++
1 file changed, 11
If the PCF2127/2129 loses power it needs some initialization to work
correctly. A bootloader/firmware might do this. If not we should do this
in the driver.
Philipp Rosenberger (2):
rtc: pcf2127: Disable Power-On Reset Override
rtc: pcf2127: Run a OTP refresh if not done before
drivers/rtc
m function.
Signed-off-by: Philipp Rosenberger
---
drivers/rtc/rtc-pcf2127.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
index 39a7b5116aa4..39c28bac4d1a 100644
--- a/drivers/rtc/rtc-pcf2127.c
+++ b/drivers/rtc/rtc-pcf2127.c
,
> + vfd->release= video_device_release_empty;
> vfd->lock = &dev->dev_mutex;
> vfd->v4l2_dev = &dev->v4l2_dev;
> vfd->vfl_dir= VFL_DIR_M2M;
Thank you,
Reviewed-by: Philipp Zabel
regards
Philipp
WARNING:BRACES: braces {} are not necessary for single statement blocks
Co-developed-by: Andrey Khlopkov
Signed-off-by: Andrey Khlopkov
Signed-off-by: Philipp Gerlesberger
---
drivers/staging/media/atomisp/pci/runtime/timer/src/timer.c | 2 --
1 file changed, 2 deletions(-)
diff --git a
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
WARNING:LEADING_SPACE: please, no spaces at the start of a line
Avoid these errors by writing the function decleration in one line.
Co-developed-by: Andrey Khlopkov
Signed-off-by: Andrey Khlopkov
Signed-off-by: Philipp Ge
You can sum up the two lines, because the maximum line length of
100 columns is not exceeded.
Co-developed-by: Andrey Khlopkov
Signed-off-by: Andrey Khlopkov
Signed-off-by: Philipp Gerlesberger
---
drivers/staging/media/atomisp/pci/runtime/spctrl/src/spctrl.c | 3 +--
1 file changed, 1
1 - 100 of 1443 matches
Mail list logo