Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • L linux-coresight-backports
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • linux-arm
  • linux-coresight-backports
  • Repository
Switch branch/tag
  • linux-coresight-backports
  • drivers
  • clk
  • clk-composite.c
Find file BlameHistoryPermalink
  • Boris BREZILLON's avatar
    clk: composite: support determine_rate using rate_ops->round_rate + mux_ops->set_parent · 3eb635f1
    Boris BREZILLON authored Jul 03, 2014
    
    
    In case the rate_hw does not implement determine_rate, but only round_rate
    we fallback to best_parent selection if mux_hw is present and support
    reparenting.
    
    This also fixes a rate calculation problem when using the standard div and
    mux ops, as in this case currently only the mux->determine_rate is used
    in the composite rate calculation.
    So when for example the composite clock has two parents at 600 and 800MHz,
    the requested rate is 75MHz, which the divider could provide, without this
    change the rate would be set 600MHz ignoring the divider completely.
    This may be way out of spec for the component.
    
    Signed-off-by: default avatarBoris BREZILLON <b.brezillon@overkiz.com>
    Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
    [heiko@sntech.de: fixed output return a rate instead of the diff]
    Acked-By: default avatarMax Schwarz <max.schwarz@online.de>
    Tested-By: default avatarMax Schwarz <max.schwarz@online.de>
    Tested-by: default avatarGabriel Fernandez <gabriel.fernandez@linaro.org>
    Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
    3eb635f1