Rev 5056 | Rev 6082 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5056 | Rev 5270 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | #include |
26 | #include |
Line 27... | Line 27... | ||
27 | 27 | ||
Line 28... | Line 28... | ||
28 | struct drm_dp_mst_branch; |
28 | struct drm_dp_mst_branch; |
29 | 29 | ||
30 | /** |
30 | /** |
31 | * struct drm_dp_vcpi - Virtual Channel Payload Identifer |
31 | * struct drm_dp_vcpi - Virtual Channel Payload Identifier |
32 | * @vcpi: Virtual channel ID. |
32 | * @vcpi: Virtual channel ID. |
33 | * @pbn: Payload Bandwidth Number for this channel |
33 | * @pbn: Payload Bandwidth Number for this channel |
34 | * @aligned_pbn: PBN aligned with slot size |
34 | * @aligned_pbn: PBN aligned with slot size |
Line 90... | Line 90... | ||
90 | struct drm_dp_mst_branch *parent; |
90 | struct drm_dp_mst_branch *parent; |
Line 91... | Line 91... | ||
91 | 91 | ||
92 | struct drm_dp_vcpi vcpi; |
92 | struct drm_dp_vcpi vcpi; |
93 | struct drm_connector *connector; |
93 | struct drm_connector *connector; |
- | 94 | struct drm_dp_mst_topology_mgr *mgr; |
|
- | 95 | ||
94 | struct drm_dp_mst_topology_mgr *mgr; |
96 | struct edid *cached_edid; /* for DP logical ports - make tiling work */ |
Line 95... | Line 97... | ||
95 | }; |
97 | }; |
96 | 98 | ||
97 | /** |
99 | /** |
Line 369... | Line 371... | ||
369 | 371 | ||
370 | /* sideband msg handler */ |
372 | /* sideband msg handler */ |
371 | struct drm_dp_mst_topology_mgr; |
373 | struct drm_dp_mst_topology_mgr; |
372 | struct drm_dp_mst_topology_cbs { |
374 | struct drm_dp_mst_topology_cbs { |
373 | /* create a connector for a port */ |
375 | /* create a connector for a port */ |
374 | struct drm_connector *(*add_connector)(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, char *path); |
376 | struct drm_connector *(*add_connector)(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *path); |
375 | void (*destroy_connector)(struct drm_dp_mst_topology_mgr *mgr, |
377 | void (*destroy_connector)(struct drm_dp_mst_topology_mgr *mgr, |
376 | struct drm_connector *connector); |
378 | struct drm_connector *connector); |
Line 377... | Line 379... | ||
377 | void (*hotplug)(struct drm_dp_mst_topology_mgr *mgr); |
379 | void (*hotplug)(struct drm_dp_mst_topology_mgr *mgr); |
Line 386... | Line 388... | ||
386 | 388 | ||
387 | struct drm_dp_payload { |
389 | struct drm_dp_payload { |
388 | int payload_state; |
390 | int payload_state; |
389 | int start_slot; |
391 | int start_slot; |
- | 392 | int num_slots; |
|
390 | int num_slots; |
393 | int vcpi; |
Line 391... | Line 394... | ||
391 | }; |
394 | }; |
392 | 395 | ||
393 | /** |
396 | /** |
Line 452... | Line 455... | ||
452 | /* payload info + lock for it */ |
455 | /* payload info + lock for it */ |
453 | struct mutex payload_lock; |
456 | struct mutex payload_lock; |
454 | struct drm_dp_vcpi **proposed_vcpis; |
457 | struct drm_dp_vcpi **proposed_vcpis; |
455 | struct drm_dp_payload *payloads; |
458 | struct drm_dp_payload *payloads; |
456 | unsigned long payload_mask; |
459 | unsigned long payload_mask; |
- | 460 | unsigned long vcpi_mask; |
|
Line 457... | Line 461... | ||
457 | 461 | ||
458 | wait_queue_head_t tx_waitq; |
462 | wait_queue_head_t tx_waitq; |
Line 459... | Line 463... | ||
459 | struct work_struct work; |
463 | struct work_struct work; |
Line 470... | Line 474... | ||
470 | 474 | ||
Line 471... | Line 475... | ||
471 | 475 | ||
Line 472... | Line 476... | ||
472 | int drm_dp_mst_hpd_irq(struct drm_dp_mst_topology_mgr *mgr, u8 *esi, bool *handled); |
476 | int drm_dp_mst_hpd_irq(struct drm_dp_mst_topology_mgr *mgr, u8 *esi, bool *handled); |
Line 473... | Line 477... | ||
473 | 477 |