nouveau_pm.h revision 442b626ece6fbbe7f52c03a09f85ae5755f29eab
1330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs/* 2330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * Copyright 2010 Red Hat Inc. 3330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * 4330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * Permission is hereby granted, free of charge, to any person obtaining a 5330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * copy of this software and associated documentation files (the "Software"), 6330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * to deal in the Software without restriction, including without limitation 7330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * and/or sell copies of the Software, and to permit persons to whom the 9330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * Software is furnished to do so, subject to the following conditions: 10330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * 11330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * The above copyright notice and this permission notice shall be included in 12330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * all copies or substantial portions of the Software. 13330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * 14330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * OTHER DEALINGS IN THE SOFTWARE. 21330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * 22330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs * Authors: Ben Skeggs 23330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs */ 24330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs 25330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs#ifndef __NOUVEAU_PM_H__ 26330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs#define __NOUVEAU_PM_H__ 27330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs 28330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs/* nouveau_pm.c */ 29330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsint nouveau_pm_init(struct drm_device *dev); 30330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsvoid nouveau_pm_fini(struct drm_device *dev); 31330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs 32330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs/* nouveau_volt.c */ 33330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsvoid nouveau_volt_init(struct drm_device *); 34330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsvoid nouveau_volt_fini(struct drm_device *); 35330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsint nouveau_volt_vid_lookup(struct drm_device *, int voltage); 36330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsint nouveau_volt_lvl_lookup(struct drm_device *, int vid); 37330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsint nouveau_voltage_gpio_get(struct drm_device *); 38330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsint nouveau_voltage_gpio_set(struct drm_device *, int voltage); 39330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs 40330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs/* nouveau_perf.c */ 41330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsvoid nouveau_perf_init(struct drm_device *); 42330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggsvoid nouveau_perf_fini(struct drm_device *); 43330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs 44442b626ece6fbbe7f52c03a09f85ae5755f29eabBen Skeggs/* nv04_pm.c */ 45442b626ece6fbbe7f52c03a09f85ae5755f29eabBen Skeggsint nv04_pm_clock_get(struct drm_device *, u32 id); 46442b626ece6fbbe7f52c03a09f85ae5755f29eabBen Skeggsvoid *nv04_pm_clock_pre(struct drm_device *, u32 id, int khz); 47442b626ece6fbbe7f52c03a09f85ae5755f29eabBen Skeggsvoid nv04_pm_clock_set(struct drm_device *, void *); 48442b626ece6fbbe7f52c03a09f85ae5755f29eabBen Skeggs 4902c30ca0a1d6d8b878fc32f47b3b25192ef4a8efBen Skeggs/* nv50_pm.c */ 5002c30ca0a1d6d8b878fc32f47b3b25192ef4a8efBen Skeggsint nv50_pm_clock_get(struct drm_device *, u32 id); 5102c30ca0a1d6d8b878fc32f47b3b25192ef4a8efBen Skeggsvoid *nv50_pm_clock_pre(struct drm_device *, u32 id, int khz); 5202c30ca0a1d6d8b878fc32f47b3b25192ef4a8efBen Skeggsvoid nv50_pm_clock_set(struct drm_device *, void *); 5302c30ca0a1d6d8b878fc32f47b3b25192ef4a8efBen Skeggs 54330c5988ee78045e6a731c3693251aaa5b0d14e3Ben Skeggs#endif 55