History log of /fuchsia/zircon/system/dev/display/intel-i915/intel-i915.h
Revision Date Author Comments
# 28fd3660 18-Sep-2018 David Stevens <stevensd@google.com>

[intel-i915][vim-display] Update to new i2c protocol

Test: Boot nuc/vim2 and make sure edid is read successfully
Change-Id: I543d29c5e7e1f8c76938eddc5a9388b1cfbd4688


# 6240b45a 29-Aug-2018 David Stevens <stevensd@google.com>

[intel-i915] Read hardware state at initialization

Test: Boot to virtcon on NUC/eve, run display-test
Change-Id: Ie64e56eb46097db82bf3e9d6354b83024a8d89f1


# c62196fd 31-Aug-2018 David Stevens <stevensd@google.com>

[intel-i915] Clean up some config validation

Add full max pipe pixel rate and port link rate calculations, instead
of relying on hardcoded 'common' configuration limits. Also account for
plane scaling in these calculations and fix the max plane width check.

Test: Boot to virtcon on NUC/eve, run display-test
Change-Id: Ied02d226e42ec6d38689771c99d95c4b30d27ea3


# 37e1c6ef 17-Aug-2018 David Stevens <stevensd@google.com>

[intel-i915] Split i2c/dp_aux into separate objects

Test: Boot to virtcon on NUC/eve
Change-Id: If2d56129c7818fc5a7dd73ba18e5b92aef37d07c


# ceddf6ea 13-Aug-2018 David Stevens <stevensd@google.com>

[display] Remove ddk calls from on_displays_changed

This change replaces get_info with per-display argument structs to
on_displays_changed, and it moves the display mode validation to a
posted task. This allow simpler locking in the impl drivers, and it
enables the addition of output parameters into the argument structs.

This change also causes ownership messages to be sent before display
changed messages. Update various clients to not rely on a particular
order of messages.

Test: Boot to virtcon/hotplug on NUC/vim/eve. Run gfxtest, gfxlatency,
and display-test

Change-Id: Id561ed7587037353c1aeeab96511481d74026bdc


# 2bb90254 12-Jul-2018 David Stevens <stevensd@google.com>

[intel-i915] Separate ddis from pipes/transcoders

This change creates a standalone Pipe class which manages hardware
pipes and transcoders, which leaves displays to only manage ddis. This
allows more dynamic configuration of the hardware.

Test: Virtcon and hotplugging on skl NUC/kbl NUC/eve/acer, virtcon
switching, boot menu, display-test, vkcube on skl NUC.

Change-Id: I845ec143b14866099f7b17840dfe24492f6e5909


# 034064ca 09-Jul-2018 David Stevens <stevensd@google.com>

[display] Add display mode validation

Test: display-test on NUC and eve
Change-Id: Ic5f35bbd73b3d860d330cc94102009ab9ba8b45c


# 398e80d3 02-Jul-2018 David Stevens <stevensd@google.com>

[display] Add support for color layers

Test: display-test
Change-Id: I270351824d264e5c905a74b43a2c09079059bd94


# 44b9ca30 26-Jun-2018 David Stevens <stevensd@google.com>

[display] Implement new vsync API

This change adds a new vsync event to the display controller API removes
the present signal event. It also changes the behavior of the cursor
position API to clamp the cursor to the display, to sidestep the issue
of how vsync interacts with a cursor that isn't on the display.

Test: display-test, vkcube, vkcube_image_pipe_swapchain
Change-Id: I6f332e3709eef2c6e1c932581024c2149b65a2a1


# d169d01c 18-Jun-2018 David Stevens <stevensd@google.com>

[ddk][intel-i915] Add support for hardware cursors

Test: Manually run display-test
Change-Id: Id413e27cd9ee938c689495eee6bb58ad44ff8223


# 411d519c 14-Jun-2018 David Stevens <stevensd@google.com>

[intel-i915] Add support for rotation

This is a revert of the revert 455cc09565a4f9018cd9921e9184d857bc5b7133
with an additional fix in DdkSuspend to fix crashing during mexec.

Test: display-test, boot with zedboot image including change
Change-Id: I55dcbd21496155357c30d5ac6a83215c642f8d9a


# 455cc095 14-Jun-2018 Yvonne Yip <yky@google.com>

[intel-i915] Reverting: Add support for rotation

This reverts commit d6377109658b0e074dc853474febb2016be4cff3.

Reason for revert: This commit generates a zedboot that fails
to boot the system on pixelbook.

Original change's description:
> [intel-i915] Add support for rotation
>
> Test: display-test
> Change-Id: I4fdc948584acd76b4aab9a5044299449fd18b059

Change-Id: Iba0f2bda1819da230cb778961fcbe5bb7df5500a


# d6377109 24-May-2018 David Stevens <stevensd@google.com>

[intel-i915] Add support for rotation

Test: display-test
Change-Id: I4fdc948584acd76b4aab9a5044299449fd18b059


# 28feda07 01-Jun-2018 David Stevens <stevensd@google.com>

[intel-i915] Add real display buffer allocation

Test: Manually run display-test; hotplug monitors
Change-Id: I199c0b295fc978653b114e30b931808aff837d95


# fe777833 11-May-2018 David Stevens <stevensd@google.com>

[display] Add layers to ddk display protocol

Change-Id: I0e876353121ca8c58bcca4a5c0ada6ee61d0e259


# 8debd243 30-May-2018 David Stevens <stevensd@google.com>

[intel-i915] Move work out of bind

Devmgr doesn't handle mexec while devices are still binding. Reduce the
chance of this race condition by moving initialization work onto an
auxiliary thread.

Change-Id: I95141b4c7ea142f2666b1974b08cefcd40fdc8a1


# 9b324ad5 18-May-2018 David Stevens <stevensd@google.com>

[intel-i915] Add various default initializers

ZX-2175 #done

Change-Id: I961dc9a316aadaf7b9da23c130be733387de6f65


# bfb31fbb 20-Apr-2018 David Stevens <stevensd@google.com>

[intel-i915] Move bootloader display into simple driver

Change-Id: Ie231a28e21fe8ecb76e16c2c839a255bbb2a6eae


# 75ab4f2b 13-Apr-2018 David Stevens <stevensd@google.com>

[intel-i915] Delete old display device implementation

Change-Id: I1e253629778288952ed3dc83111b84a0aac4a29f


# a5efddbd 16-May-2018 David Stevens <stevensd@google.com>

[display] Use uint64_t for ids

Change-Id: I8538e3e53978045bc55a8d4116acf90393dbfdf8


# 5fbe6f24 19-Apr-2018 David Stevens <stevensd@google.com>

[intel-i915] Add locking

Change-Id: I067fb1bb9a8db020d8f80272c12ec732cd15238a


# 81eff85e 19-Apr-2018 David Stevens <stevensd@google.com>

[intel-i915] Implement intel-gpu-core protocol

Also change the address type in read_pci_config_16 to uint16_t, to
match the underlying pci API.

Change-Id: Ic16e79939ea5114c545809f993ff7ad1e2e93d86


# 593512f6 29-Mar-2018 David Stevens <stevensd@google.com>

[intel-i915] Add display controller implementation

Change-Id: Ic512b89645b512629eb42b7b54563c7369b2060b


# 386c3d5b 14-Mar-2018 David Stevens <stevensd@google.com>

[intel-i915] Allow DP to handle hotplug events

Change-Id: I91d123cfafe7a6e8f920f61f899e20afb82fd3c9


# 1c58992f 06-Mar-2018 David Stevens <stevensd@google.com>

[intel-i915] Refactor interrupts and add vsync

Change-Id: I9645afa3a49fdc9e80c8ddfa61b3c37a8c79a524


# b84f3926 27-Feb-2018 David Stevens <stevensd@google.com>

[intel-i915] Improve dpll allocation

Share dplls when possible. Also, given that the sparse documentation on
HDPORT makes it difficult to be confident in how the feature is
handled, just ignore it for now. Support can be needed when something
actually needs it and better documentation is available.

Change-Id: I186de9959bd9f1e7521c3333abb306aae4acfaea


# b77eb94b 26-Feb-2018 David Stevens <stevensd@google.com>

[intel-i915] Only enable power wells when in use

Change-Id: I4cde102b41ef4a39f19f6c71a2de2725bfb34b10


# 6a5f1ec1 05-Feb-2018 David Stevens <stevensd@google.com>

[intel-i915] Reinitialize displays on resume

Change-Id: I22449d4896d331c4808a9341ab5ea325a45a7472


# 70743b11 16-Feb-2018 David Stevens <stevensd@google.com>

[intel-i915] Handle transcoder EDP and DPLL0

Change-Id: Idc68e8f6932b38c0b7929b81ea50c4bcd54e6a8f


# b9d2c7d6 31-Jan-2018 David Stevens <stevensd@google.com>

[intel-i915] Make the bootloader fb work on mexec

Change-Id: Ia8a95fd2fbcfd366bf02a8b9adb8192bc6bff139


# b1876738 26-Jan-2018 David Stevens <stevensd@google.com>

[intel-i915] Back unused gfxmem with a scratch buffer

There are times during driver initialization and when mexecing where
there is nothing good to put on the display. To handle those cases,
back all unused graphics memory with a black scratch buffer (which is
quicker and easier than turning the display off and back on).

Change-Id: I9767dc1c6e14646f5e84effce8712c5ee908882e


# 54a0f036 10-Jan-2018 David Stevens <stevensd@google.com>

[intel-i915] Add igd handling to ddi buf programming

Change-Id: Ic897e257780f05f55cb29933951e565008b20d7c


# 38f284ab 10-Jan-2018 David Stevens <stevensd@google.com>

[intel-i915] Read VBT to check for ddi type

Change-Id: Ia6daa1c0db445a719b57560793ffc690f1815bef


# 6bee686a 09-Jan-2018 David Stevens <stevensd@google.com>

[intel-i915] Add support for hotplugging

Change-Id: Idbc2721499a5b18acbb395d26b63bf13d08c79a0


# d90976be 19-Dec-2017 Todd Eisenberger <teisenbe@google.com>

[dev][i915] Switch code over to hwreg lib

The hwreg code is derived from registers-base.h and has support for
additional features (like reserved-zero bits).

Change-Id: I1476a23de273896e029c99231833d30d4105e3cd


# c6dc9218 12-Dec-2017 David Stevens <stevensd@google.com>

[system][intel-i915] Improve display controller init

- Reset all pipes and ddis.
- Do fixed-allocation of display buffers across all pipes.

Change-Id: Iebca855147f0a9cb9cfe0465fa7e57656272c352


# 67bdab66 29-Nov-2017 David Stevens <stevensd@google.com>

[system][intel-i915] Reset hardware when needed

Change-Id: I42a356ab099a6669e94d9fa49b8f92eaef38cdbe


# 386eb4d6 01-Dec-2017 David Stevens <stevensd@google.com>

[system][intel-i915] A bunch of minor changes

- Use ZX_PIXEL_FORMAT_BYTES macro in BootloaderDisplay
- Make filenames uniformly use hyphens
- Add a #define to enable modesetting (leave it off)
- When modesetting, don't require that a display be found during bind
- Return ZX_OK if display discovery fails and rely on unbind for cleanup
- Properly initialize irq_
- Add support for 8-bit BitfieldRefs
- Remove auto return types from registers

Change-Id: I06070bb14f2175a4a7582d7df5646fbf819e53bc


# 896dd6a8 28-Nov-2017 David Stevens <stevensd@google.com>

[system][intel-i915] Add hotplug interrupt detection

Change-Id: Ied23e3fdf8a5af3703f3016e83f6e817459ecf2d


# fb33cf46 27-Nov-2017 David Stevens <stevensd@google.com>

[dev][intel-i915] Create dedicated display class

Change-Id: I98e1a550ded205f66c56a74e98873478645b8e3c


# 43625c58 28-Nov-2017 David Stevens <stevensd@google.com>

[dev][intel-i915] Allocate our own framebuffer

This CL reapplies change 90324. It fixes a fb size calculation error in
gtt.cpp which caused failures with some display dimensions. It also
relies on a devmgr fix in change 94798 to not break full fuchsia local
storage installations.

Change-Id: I737074f0201ed613ac35f0c99fd3d2c4bbd9e55f


# 200b7396 27-Nov-2017 David Stevens <stevensd@google.com>

Revert "[dev][intel-i915] Allocate our own framebuffer"

This reverts commit 49b79aa77b7c9c9ce28cd68374da9fa4c804cbd3.

Reason for revert: Doesn't work on Acer

[00009.799] 02175.02198> i915: Failed to allocate gfx address for framebuffer

Original change's description:
> [dev][intel-i915] Allocate our own framebuffer
>
> Change-Id: I2b39e369e81b403231edb60955ccc239a69ebcc0

TBR=cstout@google.com,teisenbe@google.com,stevensd@google.com

Change-Id: Icd2ab9bc1dd85bbb443979afd42c3811aaf62b9e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true


# 49b79aa7 14-Nov-2017 David Stevens <stevensd@google.com>

[dev][intel-i915] Allocate our own framebuffer

Change-Id: I2b39e369e81b403231edb60955ccc239a69ebcc0


# cde655ff 16-Nov-2017 David Stevens <stevensd@google.com>

[dev][intel-i915] Remove display ownership callbacks

This change removes the ownership change callbacks from the display
ddktl, which fixes the framebuffer driver's FB_HAS_GPU macro. The
missing functionality is fine, since the display APIs will be rewritten
soon.

Change-Id: I47177d4d05eb9a877727c6a1786ad4a5570c1ab3


# 2b703969 14-Nov-2017 David Stevens <stevensd@google.com>

[dev][intel-i915] Convert driver to c++/ddktl

Change-Id: I927ef64122402fee3e661c8a473b24423dca63d9