]> Git Repo - linux.git/commitdiff
Merge tag 'drm-next-2018-06-11' of git://anongit.freedesktop.org/drm/drm
authorLinus Torvalds <[email protected]>
Mon, 11 Jun 2018 14:17:36 +0000 (07:17 -0700)
committerLinus Torvalds <[email protected]>
Mon, 11 Jun 2018 14:17:36 +0000 (07:17 -0700)
Pull drm msm updates and misc fixes from Dave Airlie:
 "I looked at Rob's msm tree, he kept it small due to being late, and it
  was in -next for a while before he was ill, so I think it should be
  fine.

  Otherwise this contains a set of i915 fixes and a v3d build fix, and
  vc4 leak fix"

* tag 'drm-next-2018-06-11' of git://anongit.freedesktop.org/drm/drm: (31 commits)
  drm/i915/icl: Don't update enabled dbuf slices struct until updated in hw
  drm/i915/icl: fix icl_unmap/map_plls_to_ports
  drm/i915: Remove bogus NV12 PLANE_COLOR_CTL setup
  drm/msm: Fix NULL deref on bind/probe deferral
  drm/msm: Switch to atomic_helper_commit()
  drm/msm: Remove msm_commit/worker, use atomic helper commit
  drm/msm: Issue queued events when disabling crtc
  drm/msm: Move implicit sync handling to prepare_fb
  drm/msm: Refactor complete_commit() to look more the helpers
  drm/msm: Don't subclass drm_atomic_state anymore
  drm/msm/mdp5: Use the new private_obj state
  drm/msm/mdp5: Add global state as a private atomic object
  drm/msm: use correct aspace pointer in msm_gem_put_iova()
  drm/msm: remove unbalanced mutex unlock
  drm/msm: don't deref error pointer in the msm_fbdev_create error path
  drm/msm/dsi: use correct enum in dsi_get_cmd_fmt
  drm/msm: Fix possible null dereference on failure of get_pages()
  drm/msm: Add modifier to mdp_get_format arguments
  drm/msm: Mark the crtc->state->event consumed
  drm/msm/dsi: implement auto PHY timing calculator for 10nm PHY
  ...

1  2 
drivers/gpu/drm/i915/intel_lvds.c

index e125d16a1aa72dbed9c958213b7039a466b6fbf2,d8ece907ff545c6b85673bc2fa64214b5ec51d95..d278f24ba6ae58bf4a704dc57610a53e9b042d25
@@@ -574,36 -574,6 +574,36 @@@ exit
        return NOTIFY_OK;
  }
  
 +static int
 +intel_lvds_connector_register(struct drm_connector *connector)
 +{
 +      struct intel_lvds_connector *lvds = to_lvds_connector(connector);
 +      int ret;
 +
 +      ret = intel_connector_register(connector);
 +      if (ret)
 +              return ret;
 +
 +      lvds->lid_notifier.notifier_call = intel_lid_notify;
 +      if (acpi_lid_notifier_register(&lvds->lid_notifier)) {
 +              DRM_DEBUG_KMS("lid notifier registration failed\n");
 +              lvds->lid_notifier.notifier_call = NULL;
 +      }
 +
 +      return 0;
 +}
 +
 +static void
 +intel_lvds_connector_unregister(struct drm_connector *connector)
 +{
 +      struct intel_lvds_connector *lvds = to_lvds_connector(connector);
 +
 +      if (lvds->lid_notifier.notifier_call)
 +              acpi_lid_notifier_unregister(&lvds->lid_notifier);
 +
 +      intel_connector_unregister(connector);
 +}
 +
  /**
   * intel_lvds_destroy - unregister and free LVDS structures
   * @connector: connector to free
@@@ -616,6 -586,9 +616,6 @@@ static void intel_lvds_destroy(struct d
        struct intel_lvds_connector *lvds_connector =
                to_lvds_connector(connector);
  
 -      if (lvds_connector->lid_notifier.notifier_call)
 -              acpi_lid_notifier_unregister(&lvds_connector->lid_notifier);
 -
        if (!IS_ERR_OR_NULL(lvds_connector->base.edid))
                kfree(lvds_connector->base.edid);
  
@@@ -636,8 -609,8 +636,8 @@@ static const struct drm_connector_func
        .fill_modes = drm_helper_probe_single_connector_modes,
        .atomic_get_property = intel_digital_connector_atomic_get_property,
        .atomic_set_property = intel_digital_connector_atomic_set_property,
 -      .late_register = intel_connector_register,
 -      .early_unregister = intel_connector_unregister,
 +      .late_register = intel_lvds_connector_register,
 +      .early_unregister = intel_lvds_connector_unregister,
        .destroy = intel_lvds_destroy,
        .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
        .atomic_duplicate_state = intel_digital_connector_duplicate_state,
@@@ -854,14 -827,6 +854,14 @@@ static const struct dmi_system_id intel
                        DMI_EXACT_MATCH(DMI_BOARD_NAME, "D525MW"),
                },
        },
 +      {
 +              .callback = intel_no_lvds_dmi_callback,
 +              .ident = "Radiant P845",
 +              .matches = {
 +                      DMI_MATCH(DMI_SYS_VENDOR, "Radiant Systems Inc"),
 +                      DMI_MATCH(DMI_PRODUCT_NAME, "P845"),
 +              },
 +      },
  
        { }     /* terminating entry */
  };
@@@ -1175,8 -1140,7 +1175,7 @@@ void intel_lvds_init(struct drm_i915_pr
  out:
        mutex_unlock(&dev->mode_config.mutex);
  
-       intel_panel_init(&intel_connector->panel, fixed_mode, NULL,
-                        downclock_mode);
+       intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode);
        intel_panel_setup_backlight(connector, INVALID_PIPE);
  
        lvds_encoder->is_dual_link = compute_is_dual_link_lvds(lvds_encoder);
  
        lvds_encoder->a3_power = lvds & LVDS_A3_POWER_MASK;
  
 -      lvds_connector->lid_notifier.notifier_call = intel_lid_notify;
 -      if (acpi_lid_notifier_register(&lvds_connector->lid_notifier)) {
 -              DRM_DEBUG_KMS("lid notifier registration failed\n");
 -              lvds_connector->lid_notifier.notifier_call = NULL;
 -      }
 -
        return;
  
  failed:
This page took 0.073788 seconds and 4 git commands to generate.