blob: 912f9e54a9297d6298969cdb47afce2afc604424 [file] [log] [blame]
# Copyright 2018 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.
import("//build/bind/bind.gni")
import("//build/components.gni")
import("//build/drivers.gni")
import("//src/graphics/lib/magma/gnbuild/magma.gni")
declare_args() {
# Enable suspend.
# This will stop the ring buffer and suspend the clks when there are no
# submitted commands.
msd_vsi_vip_enable_suspend = true
}
config("msd_vsi_vip_config") {
defines = []
if (msd_vsi_vip_enable_suspend) {
defines += [ "MSD_VSI_VIP_ENABLE_SUSPEND" ]
}
}
fuchsia_driver_package("msd-vsi-vip") {
driver_components = [ ":msd_vsi" ]
}
fuchsia_driver_package("msd-vsi-vip-test") {
testonly = true
driver_components = [
":msd_vsi_test",
"//src/graphics/magma/tests/unit_tests:test_firmware",
]
}
fuchsia_driver("msd_vsi-driver") {
output_name = "libmsd_vsi"
deps = [
":msd_vsi_entry",
"src",
"//src/graphics/magma/lib/magma/platform:logger_for_system_drivers",
]
assert_no_deps = [ "//zircon/system/ulib/trace-engine:trace-engine-static" ]
}
fuchsia_driver_component("msd_vsi") {
info = "msd_vsi-info.json"
component_name = "libmsd_vsi"
deps = [ ":msd_vsi-driver" ]
manifest = "meta/msd_vsi.cml"
}
fuchsia_driver("msd_vsi_test-driver") {
testonly = true
output_name = "libmsd_vsi_test"
deps = [
":msd_vsi_test_entry",
"src",
"//src/graphics/magma/lib/magma/platform:logger_for_system_drivers",
]
assert_no_deps = [ "//zircon/system/ulib/trace-engine:trace-engine-static" ]
}
fuchsia_driver_component("msd_vsi_test") {
info = "msd_vsi_test-info.json"
testonly = true
component_name = "libmsd_vsi_test"
deps = [ ":msd_vsi_test-driver" ]
manifest = "meta/msd_vsi_test.cml"
}
driver_bind_rules("msd_vsi_bind") {
rules = "msd_vsi.bind"
tests = "tests/bind_tests.json"
deps = [
"//src/devices/bind/fuchsia.platform",
"//src/devices/bind/fuchsia.verisilicon.platform",
]
}
entry_deps = [
"//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_cpp",
"//src/devices/bus/lib/device-protocol-pdev",
"//src/devices/lib/driver",
"//src/graphics/magma/lib/magma/platform:logger",
"//src/graphics/magma/lib/magma/platform:trace",
"//src/graphics/magma/lib/magma/platform/zircon:status",
"//src/graphics/magma/lib/magma/platform/zircon:thread_profile",
"//src/graphics/magma/lib/magma/util:macros",
"//src/graphics/magma/lib/magma_service/sys_driver",
"//src/graphics/magma/lib/magma_service/sys_driver/dfv1:device_impl",
"//src/lib/ddk",
"//src/lib/ddktl",
"//zircon/system/ulib/trace",
"//zircon/system/ulib/trace-vthread",
"//zircon/system/ulib/zx",
]
source_set("msd_vsi_entry") {
sources = [ "src/driver_entry.cc" ]
deps = entry_deps + [ ":msd_vsi_bind" ]
}
source_set("msd_vsi_test_entry") {
testonly = true
sources = [
"src/driver_entry.cc",
"src/driver_test_gtest.cc",
]
defines = [ "MAGMA_TEST_DRIVER=1" ]
deps = entry_deps + [
":msd_vsi_test_bind",
"src",
"tests/unit_tests:hardware_tests",
"//src/graphics/magma/lib/magma_service/test_util:platform_device_helper",
"//src/graphics/magma/lib/magma_service/test_util:platform_msd_device_helper",
"//third_party/googletest:gtest",
]
}
driver_bind_rules("msd_vsi_test_bind") {
rules = "msd_vsi_test.bind"
disable_autobind = true
deps = [
"//src/devices/bind/fuchsia.platform",
"//src/devices/bind/fuchsia.verisilicon.platform",
]
}
group("tests") {
testonly = true
deps = [ ":msd_vsi_bind_test" ]
}
group("test-driver") {
testonly = true
public_deps = [ ":msd-vsi-vip-test" ]
}