Lines Matching refs:dpll

7 #include <linux/dpll.h>
107 * @dpll: pointer to dpll
108 * @dpll_priv: private data pointer passed on dpll registration
122 const struct dpll_device *dpll, void *dpll_priv,
146 * @dpll: pointer to dpll
147 * @dpll_priv: private data pointer passed on dpll registration
160 const struct dpll_device *dpll, void *dpll_priv,
163 return ice_dpll_frequency_set(pin, pin_priv, dpll, dpll_priv, frequency,
171 * @dpll: pointer to dpll
172 * @dpll_priv: private data pointer passed on dpll registration
185 const struct dpll_device *dpll, void *dpll_priv,
188 return ice_dpll_frequency_set(pin, pin_priv, dpll, dpll_priv, frequency,
196 * @dpll: pointer to dpll
197 * @dpll_priv: private data pointer passed on dpll registration
211 const struct dpll_device *dpll, void *dpll_priv,
230 * @dpll: pointer to dpll
231 * @dpll_priv: private data pointer passed on dpll registration
244 const struct dpll_device *dpll, void *dpll_priv,
247 return ice_dpll_frequency_get(pin, pin_priv, dpll, dpll_priv, frequency,
255 * @dpll: pointer to dpll
256 * @dpll_priv: private data pointer passed on dpll registration
269 const struct dpll_device *dpll, void *dpll_priv,
272 return ice_dpll_frequency_get(pin, pin_priv, dpll, dpll_priv, frequency,
280 * @dpll_idx: dpll index to connect to output pin
380 * dpll, for rclk pins states are separated for each parent.
492 * @dpll: ice dpll pointer
494 * @prio: priority value being set on a dpll
505 ice_dpll_hw_input_prio_set(struct ice_pf *pf, struct ice_dpll *dpll,
511 ret = ice_aq_set_cgu_ref_prio(&pf->hw, dpll->dpll_idx, pin->idx,
520 dpll->input_prio[pin->idx] = prio;
526 * ice_dpll_lock_status_get - get dpll lock status callback
527 * @dpll: registered dpll pointer
528 * @dpll_priv: private data pointer passed on dpll registration
529 * @status: on success holds dpll's lock status
533 * Dpll subsystem callback, provides dpll's lock status.
541 ice_dpll_lock_status_get(const struct dpll_device *dpll, void *dpll_priv,
557 * ice_dpll_mode_get - get dpll's working mode
558 * @dpll: registered dpll pointer
559 * @dpll_priv: private data pointer passed on dpll registration
560 * @mode: on success holds current working mode of dpll
563 * Dpll subsystem callback. Provides working mode of dpll.
570 static int ice_dpll_mode_get(const struct dpll_device *dpll, void *dpll_priv,
585 * ice_dpll_pin_state_set - set pin's state on dpll
588 * @dpll: registered dpll pointer
589 * @dpll_priv: private data pointer passed on dpll registration
603 const struct dpll_device *dpll, void *dpll_priv,
629 * ice_dpll_output_state_set - enable/disable output pin on dpll device
632 * @dpll: dpll being configured
633 * @dpll_priv: private data pointer passed on dpll registration
646 const struct dpll_device *dpll, void *dpll_priv,
657 return ice_dpll_pin_state_set(pin, pin_priv, dpll, dpll_priv, enable,
662 * ice_dpll_input_state_set - enable/disable input pin on dpll levice
665 * @dpll: dpll being configured
666 * @dpll_priv: private data pointer passed on dpll registration
679 const struct dpll_device *dpll, void *dpll_priv,
685 return ice_dpll_pin_state_set(pin, pin_priv, dpll, dpll_priv, enable,
690 * ice_dpll_pin_state_get - set pin's state on dpll
693 * @dpll: registered dpll pointer
694 * @dpll_priv: private data pointer passed on dpll registration
708 const struct dpll_device *dpll, void *dpll_priv,
736 * ice_dpll_output_state_get - get output pin state on dpll device
739 * @dpll: registered dpll pointer
740 * @dpll_priv: private data pointer passed on dpll registration
753 const struct dpll_device *dpll, void *dpll_priv,
757 return ice_dpll_pin_state_get(pin, pin_priv, dpll, dpll_priv, state,
762 * ice_dpll_input_state_get - get input pin state on dpll device
765 * @dpll: registered dpll pointer
766 * @dpll_priv: private data pointer passed on dpll registration
779 const struct dpll_device *dpll, void *dpll_priv,
783 return ice_dpll_pin_state_get(pin, pin_priv, dpll, dpll_priv, state,
788 * ice_dpll_input_prio_get - get dpll's input prio
791 * @dpll: registered dpll pointer
792 * @dpll_priv: private data pointer passed on dpll registration
793 * @prio: on success - returns input priority on dpll
805 const struct dpll_device *dpll, void *dpll_priv,
820 * ice_dpll_input_prio_set - set dpll input prio
823 * @dpll: registered dpll pointer
824 * @dpll_priv: private data pointer passed on dpll registration
825 * @prio: input priority to be set on dpll
837 const struct dpll_device *dpll, void *dpll_priv,
859 * @dpll: registered dpll pointer
860 * @dpll_priv: private data pointer passed on dpll registration
871 const struct dpll_device *dpll, void *dpll_priv,
884 * @dpll: registered dpll pointer
885 * @dpll_priv: private data pointer passed on dpll registration
896 const struct dpll_device *dpll, void *dpll_priv,
909 * @dpll: registered dpll pointer
910 * @dpll_priv: private data pointer passed on dpll registration
923 const struct dpll_device *dpll, void *dpll_priv,
941 * @dpll: registered dpll pointer
942 * @dpll_priv: private data pointer passed on dpll registration
947 * Helper for dpll subsystem callback. Handler for setting phase adjust value
957 const struct dpll_device *dpll, void *dpll_priv,
999 "err:%d %s failed to set pin phase_adjust:%d for pin:%u on dpll:%u\n",
1011 * @dpll: registered dpll pointer
1012 * @dpll_priv: private data pointer passed on dpll registration
1026 const struct dpll_device *dpll, void *dpll_priv,
1030 return ice_dpll_pin_phase_adjust_set(pin, pin_priv, dpll, dpll_priv,
1039 * @dpll: registered dpll pointer
1040 * @dpll_priv: private data pointer passed on dpll registration
1054 const struct dpll_device *dpll, void *dpll_priv,
1058 return ice_dpll_pin_phase_adjust_set(pin, pin_priv, dpll, dpll_priv,
1067 * ice_dpll_phase_offset_get - callback for get dpll phase shift value
1070 * @dpll: registered dpll pointer
1071 * @dpll_priv: private data pointer passed on dpll registration
1076 * dpll's input and output.
1085 const struct dpll_device *dpll, void *dpll_priv,
1168 * dpll subsystem callback, get a state of a recovered clock pin.
1243 * ice_generate_clock_id - generates unique clock_id for registering dpll.
1246 * Generates unique (per board) clock_id for allocation and search of dpll
1247 * devices in Linux dpll subsystem.
1257 * ice_dpll_notify_changes - notify dpll subsystem about changes
1258 * @d: pointer do dpll
1260 * Once change detected appropriate event is submitted to the dpll subsystem.
1268 dpll_device_change_ntf(d->dpll);
1287 * ice_dpll_update_state - update dpll state
1289 * @d: pointer to queried dpll device
1290 * @init: if function called on initialization of ice dpll
1292 * Poll current state of dpll from hw and update ice_dpll struct.
1310 "update dpll=%d, prev_src_idx:%u, src_idx:%u, state:%d, prev:%d mode:%d\n",
1315 "update dpll=%d state failed, ret=%d %s\n",
1363 * DPLLs periodic worker is responsible for polling state of dpll.
1403 * ice_dpll_release_pins - release pins resources from dpll subsystem
1407 * Release resources of given pins array in the dpll subsystem.
1418 * ice_dpll_get_pins - get pins from dpll subsystem
1423 * @clock_id: clock_id of dpll device
1425 * Get pins - allocate - in dpll subsystem, store them in pin field of given
1456 * ice_dpll_unregister_pins - unregister pins from a dpll
1457 * @dpll: dpll device pointer
1462 * Unregister pins of a given array of pins from given dpll device registered in
1463 * dpll subsystem.
1466 ice_dpll_unregister_pins(struct dpll_device *dpll, struct ice_dpll_pin *pins,
1472 dpll_pin_unregister(dpll, pins[i].pin, ops, &pins[i]);
1476 * ice_dpll_register_pins - register pins with a dpll
1477 * @dpll: dpll pointer to register pins with
1482 * Register pins of a given array with given dpll in dpll subsystem.
1489 ice_dpll_register_pins(struct dpll_device *dpll, struct ice_dpll_pin *pins,
1495 ret = dpll_pin_register(dpll, pins[i].pin, ops, &pins[i]);
1504 dpll_pin_unregister(dpll, pins[i].pin, ops, &pins[i]);
1514 * @first: dpll device pointer
1515 * @second: dpll device pointer
1518 * Release pins resources to the dpll subsystem.
1538 * @start_idx: on which index shall allocation start in dpll subsystem
1541 * @first: dpll device pointer
1542 * @second: dpll device pointer
1544 * Allocate directly connected pins of a given array in dpll subsystem.
1584 * Deregister rclk pin from parent pins and release resources in dpll subsystem.
1610 * @start_idx: on which index shall allocation start in dpll subsystem
1613 * Allocate resource for recovered clock pin in dpll subsystem. Register the
1666 * Release resources of directly connected pins from the dpll subsystem.
1680 ice_dpll_unregister_pins(dp->dpll, inputs, &ice_dpll_input_ops,
1682 ice_dpll_unregister_pins(de->dpll, inputs, &ice_dpll_input_ops,
1687 ice_dpll_unregister_pins(dp->dpll, outputs,
1689 ice_dpll_unregister_pins(de->dpll, outputs,
1700 * Initialize directly connected pf's pins within pf's dplls in a Linux dpll
1715 pf->dplls.eec.dpll, pf->dplls.pps.dpll);
1723 pf->dplls.eec.dpll,
1724 pf->dplls.pps.dpll);
1738 &ice_dpll_output_ops, pf->dplls.pps.dpll,
1739 pf->dplls.eec.dpll);
1742 &ice_dpll_input_ops, pf->dplls.pps.dpll,
1743 pf->dplls.eec.dpll);
1748 * ice_dpll_deinit_dpll - deinitialize dpll device
1753 * If cgu is owned unregister the dpll from dpll subsystem.
1754 * Release resources of dpll device from dpll subsystem.
1760 dpll_device_unregister(d->dpll, &ice_dpll_ops, d);
1761 dpll_device_put(d->dpll);
1765 * ice_dpll_init_dpll - initialize dpll device in dpll subsystem
1767 * @d: dpll to be initialized
1769 * @type: type of dpll being initialized
1771 * Allocate dpll instance for this board in dpll subsystem, if cgu is controlled
1772 * by this NIC, register dpll with the callback ops.
1785 d->dpll = dpll_device_get(clock_id, d->dpll_idx, THIS_MODULE);
1786 if (IS_ERR(d->dpll)) {
1787 ret = PTR_ERR(d->dpll);
1795 ret = dpll_device_register(d->dpll, type, &ice_dpll_ops, d);
1797 dpll_device_put(d->dpll);
1806 * ice_dpll_deinit_worker - deinitialize dpll kworker
1809 * Stop dpll's kworker, release it's resources.
1990 * ice_dpll_init_info - prepare pf's dpll information structure
1994 * Acquire (from HW) and set basic dpll information (on pf->dplls struct).
2084 * ice_dpll_deinit - Disable the driver/HW support for dpll subsystem
2085 * the dpll device.
2088 * Handles the cleanup work required after dpll initialization, freeing
2089 * resources and unregistering the dpll, pin and all resources used for
2110 * ice_dpll_init - initialize support for dpll subsystem
2113 * Set up the device dplls, register them and pins connected within Linux dpll