drm: add drm_send_vblank_event() helper (v4)

A helper that drivers can use to send vblank event after a pageflip.
If the driver doesn't support proper vblank irq based time/seqn then
just pass -1 for the pipe # to get do_gettimestamp() behavior (since
there are a lot of drivers that don't use drm_vblank_count_and_time())

Also an internal send_vblank_event() helper for the various other code
paths within drm_irq that also need to send vblank events.

v1: original
v2: add back 'vblwait->reply.sequence = seq' which should not have
    been deleted
v3: add WARN_ON() in case lock is not held and comments
v4: use WARN_ON_SMP() instead to fix issue with !SMP && !DEBUG_SPINLOCK
    as pointed out by Marcin Slusarz

Signed-off-by: Rob Clark <rob@ti.com>
drm/i915: use drm_send_vblank_event() helper

Signed-off-by: Rob Clark <rob@ti.com>
drm/nouveau: use drm_send_vblank_event() helper

Signed-off-by: Rob Clark <rob@ti.com>
drm/radeon: use drm_send_vblank_event() helper

Signed-off-by: Rob Clark <rob@ti.com>
drm/exynos: use drm_send_vblank_event() helper

Signed-off-by: Rob Clark <rob@ti.com>
drm/exynos: page flip fixes

The event wouldn't be on any list at this point, so nothing to delete
it from.

Signed-off-by: Rob Clark <rob@ti.com>
drm/shmob: use drm_send_vblank_event() helper

Signed-off-by: Rob Clark <rob@ti.com>
drm/imx: use drm_send_vblank_event() helper

Also, slightly changes the behavior to always put the vblank irq,
even if userspace did not request a vblank event.  As far as I
can tell, the previous code would leak a vblank irq refcnt if
userspace requested a pageflip without event.

Signed-off-by: Rob Clark <rob@ti.com>
drm/imx: page flip fixes

The 'event' could be null, so don't list_del(&event->base.link)..  and
in fact even if it wasn't null there is no reason to do this.

Also, this looks racy with the irq handler, so throw in a spinlock for
good measure.

Signed-off-by: Rob Clark <rob@ti.com>
drm/omap: use drm_send_vblank_event() helper

Signed-off-by: Rob Clark <rob@ti.com>
drm/omap: page-flip fixes

Userspace might not request a vblank event.  So it is not an error
for 'event' to be NULL, and we shouldn't use it to determine if
there is a pending flip already.

Signed-off-by: Rob Clark <rob@ti.com>
drm/i915: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm/gma500: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm/nouveau: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm/radeon: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm/shmob: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm/udl: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm/vmwgfx: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm/i2c: drm_connector_property -> drm_object_property

Signed-off-by: Rob Clark <rob@ti.com>
drm: remove legacy drm_connector_property fxns

Replace references to and remove the connector property fxns, which
have been superseded with the more general object property fxns:

  + drm_connector_attach_property -> drm_object_attach_property
  + drm_connector_property_set_value -> drm_object_property_set_value
  + drm_connector_property_get_value -> drm_object_property_get_value

Signed-off-by: Rob Clark <rob@ti.com>