blob: 2d67fc1fb3d08655d75d0a1cad7c7e92ae2376c1 [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/graphics/display/drivers/intel-i915/ddi.h"
#include <lib/stdcompat/span.h>
#include <zircon/assert.h>
#include "src/graphics/display/drivers/intel-i915/hardware-common.h"
#include "src/graphics/display/drivers/intel-i915/pci-ids.h"
namespace i915 {
cpp20::span<const DdiId> GetDdiIds(uint16_t device_id) {
if (is_skl(device_id)) {
return DdiIds<registers::Platform::kSkylake>();
}
if (is_kbl(device_id)) {
return DdiIds<registers::Platform::kKabyLake>();
}
if (is_tgl(device_id)) {
return DdiIds<registers::Platform::kTigerLake>();
}
if (is_test_device(device_id)) {
return DdiIds<registers::Platform::kTestDevice>();
}
ZX_ASSERT_MSG(false, "Device id (%04x) not supported", device_id);
}
} // namespace i915