Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1393648

Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into one module

From Tony Lindgren <tony@atomide.com>
Newsgroups linux.kernel
Subject Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into one module
Date 2016-05-03 19:40 +0200
Message-ID <ruMsH-3Sd-23@gated-at.bofh.it> (permalink)
References <rtsw2-8n4-1@gated-at.bofh.it> <rtsFI-8U-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


* Sebastian Reichel <sre@kernel.org> [160429 19:11]:
> Merge omap_ssi and omap_ssi_port into one module. This
> fixes problems with module cycle dependencies introduced
> by future patches.

Can you please check against the hardware for the split?
For reference, below is what I dumped out from dm3730 for
the modules on the L4 interconnect:

0x48000000 + 0x40000 + 0x18000 = 0x48058000, size 0x1000, parent with sysc
 0x48000000 + 0x40000 + 0x19000 = 0x48059000, size 0x1000, gdd
 0x48000000 + 0x40000 + 0x1a000 = 0x4805a000, size 0x1000, ssi_port1
 0x48000000 + 0x40000 + 0x1b000 = 0x4805b000, size 0x1000, ssi_port2

0x48000000 + 0x40000 + 0x1c000 = 0x4805c000, size 0x1000, target agent

So the parent target module at 0x48058000 controls everything
with the sysc register. The gdd, ssi_port1 and ssi_port2 are
children of the parent target module at 0x48058000 and should
not have any sysc related registers.

Can you please check if gdd, ssi_port1 and ssi_port2 have any
sysc related registers too? :) If they do, then they too can
idle on their own but most likely still depend on the parent
module.

The target agent above is a separate module with the
interconnect related registers, no need to do anything with
that AFAIK.

I believe this is the same for 34xx too but have not dumped it
out of the hardware. I can do that if the above does not match
what you're seeing.

If we want to have separate driver modules, you can do this:

1. Have the parent target module at 0x4805800 do PM runtime
   calls, they then propagate to the hwmod code properly for
   the ti,hwmods = "ssi" entry. This module can be minimal,
   and can also have child devices within it's first 0x1000
   sized range if needed.

2. Have the parent target module probe the child device
   drivers as needed with of_platform_populate() at the end
   of it's probe. The children can't be pm_runtime_irq_safe
   as it permanently blocks the idling of the parent.

3. Have the the parent target module at 0x4805800 implement
   PM runtime for it's children by registering
   struct dev_pm_ops for them.

If you really want to have them all as a single module then
that should work too as long as there's only one set of sysc
related registers.

Regards,

Tony

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/6] omap-ssi cleanups + dvfs support Sebastian Reichel <sre@kernel.org> - 2016-04-30 04:10 +0200
  [PATCH 3/6] HSI: omap_ssi: make sure probe stays available Sebastian Reichel <sre@kernel.org> - 2016-04-30 04:10 +0200
  [PATCH 4/6] HSI: omap_ssi: fix removal of port platform device Sebastian Reichel <sre@kernel.org> - 2016-04-30 04:10 +0200
    Re: [PATCH 4/6] HSI: omap_ssi: fix removal of port platform device Pavel Machek <pavel@ucw.cz> - 2016-05-01 11:50 +0200
  [PATCH 1/6] HSI: omap_ssi_port: switch to gpiod API Sebastian Reichel <sre@kernel.org> - 2016-04-30 04:10 +0200
    Re: [PATCH 1/6] HSI: omap_ssi_port: switch to gpiod API Pavel Machek <pavel@ucw.cz> - 2016-05-02 09:10 +0200
  [PATCH 6/6] HSI: omap-ssi: add clk change support Sebastian Reichel <sre@kernel.org> - 2016-04-30 04:20 +0200
    Re: [PATCH 6/6] HSI: omap-ssi: add clk change support Pavel Machek <pavel@ucw.cz> - 2016-05-01 12:10 +0200
  [PATCH 2/6] HSI: omap_ssi: fix module unloading Sebastian Reichel <sre@kernel.org> - 2016-04-30 04:20 +0200
    Re: [PATCH 2/6] HSI: omap_ssi: fix module unloading Pavel Machek <pavel@ucw.cz> - 2016-05-02 09:10 +0200
  [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into one module Sebastian Reichel <sre@kernel.org> - 2016-04-30 04:20 +0200
    Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into  one module Pavel Machek <pavel@ucw.cz> - 2016-05-01 11:50 +0200
      Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into  one module Sebastian Reichel <sre@kernel.org> - 2016-05-01 21:40 +0200
        Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into  one module Pavel Machek <pavel@ucw.cz> - 2016-05-01 23:30 +0200
    Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into  one module Tony Lindgren <tony@atomide.com> - 2016-05-03 19:40 +0200
      Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into  one module Sebastian Reichel <sre@kernel.org> - 2016-05-09 22:50 +0200
        Re: [PATCH 5/6] HSI: omap_ssi: built omap_ssi and omap_ssi_port into  one module Tony Lindgren <tony@atomide.com> - 2016-05-09 23:40 +0200

csiph-web