Lines Matching +full:firmware +full:- +full:initialised

1 // SPDX-License-Identifier: GPL-2.0-only
21 struct drm_psb_private *dev_priv = dev->dev_private; in psb_output_init()
22 psb_intel_lvds_init(dev, &dev_priv->mode_dev); in psb_output_init()
50 /* FIXME: ideally return actual value in case firmware fiddled with in psb_get_brightness()
58 struct drm_psb_private *dev_priv = dev->dev_private; in psb_backlight_setup()
67 if (!dev_priv->lvds_bl) { in psb_backlight_setup()
68 dev_err(dev->dev, "Has no valid LVDS backlight info\n"); in psb_backlight_setup()
69 return -ENOENT; in psb_backlight_setup()
71 bl_max_freq = dev_priv->lvds_bl->freq; in psb_backlight_setup()
74 core_clock = dev_priv->core_freq; in psb_backlight_setup()
83 return -ERANGE; in psb_backlight_setup()
95 int level = bd->props.brightness; in psb_set_brightness()
97 /* Percentage 1-100% being valid */ in psb_set_brightness()
113 struct drm_psb_private *dev_priv = dev->dev_private; in psb_backlight_init()
121 psb_backlight_device = backlight_device_register("psb-bl", in psb_backlight_init()
132 psb_backlight_device->props.brightness = 100; in psb_backlight_init()
133 psb_backlight_device->props.max_brightness = 100; in psb_backlight_init()
135 dev_priv->backlight_device = psb_backlight_device; in psb_backlight_init()
137 /* This must occur after the backlight is properly initialised */ in psb_backlight_init()
152 struct drm_psb_private *dev_priv = dev->dev_private; in psb_init_pm()
162 * psb_save_display_registers - save registers lost on suspend
170 struct drm_psb_private *dev_priv = dev->dev_private; in psb_save_display_registers()
173 struct psb_state *regs = &dev_priv->regs.psb; in psb_save_display_registers()
176 regs->saveDSPARB = PSB_RVDC32(DSPARB); in psb_save_display_registers()
177 regs->saveDSPFW1 = PSB_RVDC32(DSPFW1); in psb_save_display_registers()
178 regs->saveDSPFW2 = PSB_RVDC32(DSPFW2); in psb_save_display_registers()
179 regs->saveDSPFW3 = PSB_RVDC32(DSPFW3); in psb_save_display_registers()
180 regs->saveDSPFW4 = PSB_RVDC32(DSPFW4); in psb_save_display_registers()
181 regs->saveDSPFW5 = PSB_RVDC32(DSPFW5); in psb_save_display_registers()
182 regs->saveDSPFW6 = PSB_RVDC32(DSPFW6); in psb_save_display_registers()
183 regs->saveCHICKENBIT = PSB_RVDC32(DSPCHICKENBIT); in psb_save_display_registers()
187 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { in psb_save_display_registers()
189 dev_priv->ops->save_crtc(crtc); in psb_save_display_registers()
192 list_for_each_entry(connector, &dev->mode_config.connector_list, base.head) in psb_save_display_registers()
193 if (connector->save) in psb_save_display_registers()
194 connector->save(&connector->base); in psb_save_display_registers()
201 * psb_restore_display_registers - restore lost register state
208 struct drm_psb_private *dev_priv = dev->dev_private; in psb_restore_display_registers()
211 struct psb_state *regs = &dev_priv->regs.psb; in psb_restore_display_registers()
214 PSB_WVDC32(regs->saveDSPARB, DSPARB); in psb_restore_display_registers()
215 PSB_WVDC32(regs->saveDSPFW1, DSPFW1); in psb_restore_display_registers()
216 PSB_WVDC32(regs->saveDSPFW2, DSPFW2); in psb_restore_display_registers()
217 PSB_WVDC32(regs->saveDSPFW3, DSPFW3); in psb_restore_display_registers()
218 PSB_WVDC32(regs->saveDSPFW4, DSPFW4); in psb_restore_display_registers()
219 PSB_WVDC32(regs->saveDSPFW5, DSPFW5); in psb_restore_display_registers()
220 PSB_WVDC32(regs->saveDSPFW6, DSPFW6); in psb_restore_display_registers()
221 PSB_WVDC32(regs->saveCHICKENBIT, DSPCHICKENBIT); in psb_restore_display_registers()
227 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) in psb_restore_display_registers()
229 dev_priv->ops->restore_crtc(crtc); in psb_restore_display_registers()
231 list_for_each_entry(connector, &dev->mode_config.connector_list, base.head) in psb_restore_display_registers()
232 if (connector->restore) in psb_restore_display_registers()
233 connector->restore(&connector->base); in psb_restore_display_registers()
303 struct drm_psb_private *dev_priv = dev->dev_private; in psb_chip_setup()
304 dev_priv->regmap = psb_regmap; in psb_chip_setup()
314 struct drm_psb_private *dev_priv = dev->dev_private; in psb_chip_teardown()