Lines Matching refs:sequence

1744 /* Find the sequence block and size for the given panel. */
1747 const struct bdb_mipi_sequence *sequence,
1750 u32 total = get_blocksize(sequence);
1751 const u8 *data = &sequence->data[0];
1754 int header_size = sequence->version >= 3 ? 5 : 3;
1759 if (sequence->version >= 3)
1764 drm_err(&i915->drm, "Invalid sequence block (header)\n");
1769 if (sequence->version >= 3)
1777 drm_err(&i915->drm, "Invalid sequence block\n");
1841 * Could skip sequence based on Size of Sequence alone, but also do some
1845 drm_err(&i915->drm, "Too small sequence size\n");
1862 drm_err(&i915->drm, "Invalid sequence size\n");
1904 * Get len of pre-fixed deassert fragment from a v1 init OTP sequence,
1910 const u8 *data = panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP];
1917 /* index = 1 to skip sequence byte */
1937 * Some v1 VBT MIPI sequences do the deassert in the init OTP sequence.
1939 * these devices we split the init OTP sequence into a deassert sequence and
1954 if (!panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP] ||
1955 !panel->vbt.dsi.sequence[MIPI_SEQ_ASSERT_RESET] ||
1956 panel->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET])
1959 /* The deassert-sequence ends at the first DSI packet */
1968 init_otp = (u8 *)panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP];
1975 panel->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET] =
1980 panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP] = init_otp + len - 1;
2000 if (!panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP] &&
2001 panel->vbt.dsi.sequence[MIPI_SEQ_DISPLAY_ON]) {
2004 swap(panel->vbt.dsi.sequence[MIPI_SEQ_INIT_OTP],
2005 panel->vbt.dsi.sequence[MIPI_SEQ_DISPLAY_ON]);
2023 const struct bdb_mipi_sequence *sequence;
2029 /* Only our generic panel driver uses the sequence block. */
2033 sequence = bdb_find_section(i915, BDB_MIPI_SEQUENCE);
2034 if (!sequence) {
2040 /* Fail gracefully for forward incompatible sequence block. */
2041 if (sequence->version >= 4) {
2044 sequence->version);
2048 drm_dbg(&i915->drm, "Found MIPI sequence block v%u\n",
2049 sequence->version);
2051 seq_data = find_panel_sequence_block(i915, sequence, panel_type, &seq_size);
2059 /* Parse the sequences, store pointers to each sequence. */
2066 drm_err(&i915->drm, "Unknown sequence %u\n",
2074 "Unsupported sequence %u\n", seq_id);
2076 panel->vbt.dsi.sequence[seq_id] = data + index;
2078 if (sequence->version >= 3)
2083 drm_err(&i915->drm, "Invalid sequence %u\n",
2091 panel->vbt.dsi.seq_version = sequence->version;
2100 memset(panel->vbt.dsi.sequence, 0, sizeof(panel->vbt.dsi.sequence));